Only this pageAll pages
Powered by GitBook
1 of 57

Mars Protocol Docs

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Getting Started

To begin your journey with Mars Protocol, you'll need to create and fund your account with USDC or other supported assets. If you're coming from an EVM-compatible chain, USDC is the simplest and fastest option. You can transfer it from a centralized exchange (CEX) like Coinbase or any blockchain that supports native USDC. For a step-by-step guide on how to get started, check out these helpful tutorials:

How to set up a WalletConnect your walletUsing a Credit Account

These tutorials will guide you through the process of setting up your wallet, acquiring USDC, and creating your Credit Account at Mars Protocol.

Welcome to Mars Protocol

A next-generation DeFi leverage platform designed to maximize capital efficiency through its innovative Credit Account system.

The Mars Protocol empowers users with sophisticated trading tools and yield opportunities while maintaining a balanced ecosystem for both risk-takers and risk-reducers.

What is Mars Protocol?

Mars Protocol is a Gen3 DeFi leverage protocol that introduces Credit Accounts - an all-in-one position management primitive enabling leveraged trading across a wide array of strategies and assets.

Whether you're a high-leverage trader or a yield-seeking investor, Mars Protocol provides the infrastructure to meet your goals.


Core Concepts

Credit Accounts

The backbone of Mars Protocol. Credit Accounts allow users to:

  • Trade with leverage across on-chain and off-chain assets

  • Use any supported asset as collateral

  • Combine multiple positions in a single margin account

  • Hold and trade any on-chain asset

Versatile Trading Options

With Credit Accounts, users can access a wide range of strategies:

  • Spot Trading

  • Margin Trading

  • Lending & Borrowing

  • Leveraged Yield Farming

Cross-Collateralization & Risk Management

  • Cross-Collateralization: Any asset in your Credit Account can act as collateral

  • Cross-Margined Perps: Perpetuals are seamlessly integrated into the Credit Account, enabling unified risk across positions


Who Is Mars Protocol For?

Mars Protocol serves two major user groups, balancing their needs in one unified marketplace:

Speculators (Risk Takers)

  • Leverage power users

  • Seeking advanced trading instruments

  • Benefit from fee reductions and optimized UX

Investors (Risk Reducers)

  • Yield-seekers focused on capital preservation

  • Use Mars Protocol for risk-managed, passive yield strategies

  • Enjoy improved risk-adjusted returns


Why Mars Protocol?

Mars Protocol is designed to power a robust and dynamic DeFi ecosystem by:

  • Supporting both aggressive traders and conservative investors

  • Leveraging smart risk architecture via Credit Accounts

  • Innovating in cross-margining and collateral flexibility


Explore Mars Protocol

Whether you're here to trade, earn, build, or govern - we have all informations here for you. Dive deeper into the ecosystem:

Getting Started

Begin your journey with an overview of the protocol and how to get up and running:


Core Features

  • – The heart of Mars Protocol

  • – Trade Perps with cross-margining

  • – Flexible trading with leverage

  • – Capital-efficient lending markets


Risk & Governance

  • – Learn how risk is measured and mitigated

  • – Shape the protocol’s future


For Developers

  • – Technical deep dive into how Mars works under the hood


Ready to explore the cosmos of DeFi leverage? Mars Protocol is your gateway to capital-efficient strategies, active governance, and powerful financial tools — all in one unified system.

High-Leverage Tactics
  • Managed Vaults

  • Perpetual Futures (Perps)

  • Leveraged Yield Farming – Amplify farming strategies

  • High-Leverage Strategies – Looping for experienced power users

  • Managed Vaults – Let pros manage strategies for you or run strategies for the community

  • Getting Started
    Credit Accounts
    Perpetual Futures
    Spot & Margin Trading
    Lending & Borrowing
    Risk Methodology
    Governance
    Smart Contracts & Dev Docs

    Perps Risk Framework

    The Perps Risk Framework is employed by Mars protocol for estimating risk parameters in perps markets.

    The primary goal is to ensure sufficient margin and safeguards against extreme losses, price manipulation, and excessive market imbalances.

    Key Risk Parameters

    • Margin Requirements: Maximum Leverage, Maximum LTV, Liquidation LTV are determined using the extreme-loss approach and CVaR risk metric based on historical price data. Leverage caps are applied according to asset quality categories.

    • Market Impact Model Parameter: SkewScale is calculated based on global market depth to ensure attractive trading when the market is balanced.

    • Open Interest Limits: Maximum Open Interest (MaxOI) and Maximum Skew are determined through multiple approaches: Extreme Price Change, Manipulation Scenario, and Expert Caps, with consideration for vault TVL.

    • Funding Rate Model Parameters: MaxFundingVelocity is calculated to incentivize traders to close positions when the skew is high and prevent extreme price changes from generating profits beyond what funding payments would offset.

    • Trading Fees: Maker and taker fees are established based on competitor analysis.

    Methodology Highlights

    • Calculations are primarily based on historical price data, global market depth, and vault TVL.

    • Conservative assumptions, such as static skew and worst-case scenarios, are often used in calculations.

    • Risk parameters are typically updated every three months but can be urgently updated based on risk alerts, such as substantial TVL decreases or withdrawals.

    • Special cases are considered for new assets with limited data history.

    Other Risk Management Measures

    • Dynamic Risk Alerts and Monitoring Systems for key parameters.

    • Lockdown period for vault LPs.

    • Autodeleverage mechanism for MaxOI control.

    The framework aims to balance risk management and capital efficiency, ensuring the long-term sustainability of Mars protocol's perp markets.

    All risk parameters are calculated off-chain and approved through the proposals for Risk DAO.

    Asset Listing

    Each asset—whether a standard token, an LP token, or part of a new protocol integration—must undergo careful evaluation before being added to Mars Protocol.

    This process ensures that only liquid, well-governed, and secure assets are supported for lending, borrowing, or use as collateral.


    Evaluation Criteria

    1. Technical and Centralization Risks

    • Security of underlying smart contracts

    • Protocol governance and upgradeability

    • Oracle pricing infrastructure

    • Bridging mechanisms (if applicable)

    2. Asset Type Considerations

    Mars applies tailored rules depending on asset class:

    • Single Tokens

    • Examples: dNTRN, USDC, TIA

    • Assessed for price stability, market depth, and liquidity

    • LP Tokens

    • Examples: NTRN-USDC LP, dTIA-USDC LP

    • Evaluated for impermanent loss exposure, dual-asset correlation, and DEX mechanics

    LP tokens may have lower LTVs due to IL risk and more complex price dynamics.


    Impermanent Loss & LP Tokens

    Because LP tokens are subject to impermanent loss (IL)—especially during volatile market movements - the Mars framework may impose:

    • Lower maximum LTVs

    • Higher collateral thresholds for liquidation

    • Stricter caps on borrowable amounts


    Final Approval

    After both evaluation phases, final parameters are defined, including:

    • Loan-to-Value (LTV) Ratio

    • Borrow and Deposit Caps

    • Liquidation Thresholds

    • Supported Use Cases (collateral, borrowing, lending)


    All asset listings are governed by the , ensuring decentralized, community-led risk management aligned with Mars Protocol's mission of secure, composable DeFi infrastructure.


    Liquidations

    Account liquidation automatically closes undercollateralized positions and sells collateral to protect the system from bad debt while incentivizing liquidators to maintain market stability.

    Account liquidation is the protocol's final safety mechanism that automatically closes positions and sells collateral when a trader's account becomes undercollateralized. This process protects the system from bad debt while providing liquidators with economic incentives to maintain market stability and ensure all participants can meet their obligations.

    Liquidation Trigger

    Liquidation occurs when an account's health factor falls below 1.0, indicating that the account's risk-weighted assets are insufficient to cover its obligations. The liquidation process ensures that positions are closed before they can generate losses that exceed the available collateral.

    Mitigating Risks of Static Parameters

    This section outlines the key risks arising from static risk parameters and the comprehensive measures implemented to manage these risks and maintain vault safety.

    Risk Context

    The key risk parameters (MaxOI, MaxSkew, MaxFundingVelocity) are all based on the vault TVL. Because these parameters are determined through Risk DAO proposals and remain static, a significant model risk exists: they can become overestimated if the vault TVL decreases substantially. Overestimation implies that potential losses arising from these parameters could exceed the desired risk tolerance of the vault.

    The vault TVL can decrease over time because of two factors:

    Legal

    Legal Documents of the Mars Protocol

    Liquidation Process

    Before the standard liquidation mechanism begins, the protocol automatically closes all perpetual positions in the account. This crucial first step converts complex derivative exposures into simple spot asset and debt positions.

    When liquidation is triggered:

    1. Health Factor Check: Initial verification that HF < 1.0

    2. Position Closure: All perpetual positions are closed

    3. PnL Settlement: Unrealized profits and losses are settled according to standard procedures

    4. Standard Liquidation: The account now contains only spot assets and debts. The protocol applies the existing Mars liquidation mechanism.

    Importantly, after closing perpetual positions, the health factor may recover above 1.0, but the liquidation process continues to completion to ensure system stability.

    Traders realizing large profits
  • LPs withdrawing funds

  • Risk Mitigation Measures

    To manage these model risks, the following measures are implemented:

    Lockdown Period

    A 21-day lockdown period is in place for LPs before they can withdraw funds from the vault.

    Dynamic Risk Alerts System

    A risk alert is triggered upon substantial withdrawals from the vault or if the current net vault TVL significantly falls below the TVL used for risk parameter calibration. Following an alert, risk parameters are updated urgently.

    Dynamic Risk Parameters Monitoring System

    A comprehensive automated framework is under development to monitor risk parameter changes at a given frequency (at least daily).

    Autodeleverage Mechanism

    The autodeleverage mechanism for the vault's Collateralization Ratio and MaxOI control per market automatically closes positions when the actual value exceeds the target threshold.

    Mars Protocol DAO
    Mars FUD Bible
    Terms of Service
    Privacy Policy
    Cookie Policy

    Funding Rate Mechanism

    The funding rate mechanism is a core component of perpetual futures markets that ensures long-term market stability by balancing supply and demand between long and short positions.

    Velocity-Based Funding Rate Mechanism

    The funding rate mechanism serves as a critical balancing tool designed to maintain market equilibrium by incentivizing traders to take positions that reduce market skew. Unlike traditional static funding models, this system employs a dynamic velocity-based approach that adjusts funding rates based on the persistence and magnitude of directional imbalances in open interest.

    How It Works

    The funding rate evolves continuously according to a velocity model where the rate of change is proportional to the current market skew. The daily funding rate is calculated using the formula:

    where the proportional skew represents the current market imbalance relative to the skew scale parameter, clapmed between -1 and 1. The maxFundingVelocity parameter determines how quickly funding rates respond to persistent skew conditions.

    The funding rate is subject to a maximum cap of 96% per day (4% per hour) to prevent extreme scenarios while maintaining effectiveness.

    Key Properties

    This mechanism exhibits three important characteristics that promote market stability:

    • The funding rate can be either positive or negative. When positive, long position holders pay funding to short position holders. When negative, short position holders pay funding to long position holders. Importantly, the relationship between skew direction and funding rate is not instantaneous - a positive skew (more longs than shorts) does not immediately result in a positive funding rate, and vice versa. This is because the model adjusts funding rate velocity rather than the rate itself. For example, if the market initially had negative skew and negative funding rates, then shifts to positive skew, the funding rate velocity becomes positive but the actual funding rate may remain negative until sufficient time passes for it to reverse direction.

    • Linear Growth with Persistent Skew: When market imbalance remains constant over time, the funding rate increases linearly, creating mounting pressure for rebalancing trades.

    • Quadratic Response to Growing Imbalances: If the skew itself grows linearly, the funding rate accelerates quadratically, providing exponentially stronger incentives to restore balance.

    Funding Index Calculation

    The system maintains a cumulative funding sequence that tracks the accumulated (USDC-denominated) funding per unit of the underlying asset. This index is updated after each skew-modification event using the recurrent formula:

    where the funding entrance represents the funding accrual for the period and is calculated as:

    This formula uses the average of the current and previous funding rates, multiplied by the time elapsed since the last event, and adjusted for the relative price between the underlying asset and USDC. The funding index effectively captures the cumulative funding obligation per unit of asset over time.

    Funding Accrual for Positions

    Individual positions accrue funding based on their entry point in the funding sequence and their position size. When a trader opens or modifies a position, the system records the current funding index as their reference point. The unrealized funding payment for any position is then calculated as:

    Examples of Funding Accrual

    Consider an ETH perpetual market where the funding rate has been positive (favoring shorts) due to long skew:

    Long Position Example: Alice opens a 10 ETH long position when . After 24 hours, the funding index has decreased to due to positive funding rates. Alice's funding payment is: USDC, meaning she owes 0.2 USDC in funding fees to short holders.

    Short Position Example: Bob opens a 5 ETH short position () at the same time as Alice when . After 24 hours with , Bob's funding payment is: USDC, meaning he receives 0.1 USDC in funding payments from long holders.

    MARS Token

    MARS is the governance token of the Mars Protocol. It is used to vote on community and contributor proposals. The main way to acquire MARS is via Astroport, a decentralized exchange on Neutron.

    Tokenomics

    Initial Supply

    Total Supply

    After burns and migrations.

    You can get the total supply of MARS from API.

    Burn address on Neutron:

    Circulating Supply

    You can get the circulating supply of MARS from API.

    Token Utility

    • Governance participation through staking

    • Deflationary mechanism through buy & burn

    • Protocol revenue distribution:

      • Safety fund


    Buy $MARS

    You can buy MARS on or via the .

    Connect your wallet

    Connect your wallet to the Mars Protocol

    Connecting to Mars Protocol

    Follow these steps to connect your wallet to the Mars Protocol app.


    1. Visit the App & Click “Connect Wallet”

    • Open your browser and go to:

    • In the top-right corner, click Connect Wallet.


    2. Agree to the Terms of Service

    • A modal will appear with a link to Mars Protocol’s Terms of Service.

    • After you read through them, click Agree & continue.


    3. Select & Approve Your Wallet

    • Choose your wallet from the list (e.g., Keplr Wallet, Leap Wallet, etc.).

    • Your wallet extension will open, showing a transaction to approve the connection on the current chain (Osmosis or Neutron).

    • Review and click Approve in your wallet popup.


    4. Proceed to Create a Credit Account

    You’ve successfully connected your wallet! Next, head over to the page to begin depositing and managing assets.

    Rewards Collector

    The Rewards Collector Contract provides all the needed methods to withdraw generated fees and revenue from the Mars Protocol. It also handles swapping the collected revenue/fees to a specified asset.

    Deployments

    Neutron: neutron1h4l6rvylzcuxwdw3gzkkdzfjdxf4mv2ypfdgvnvag0dtz6x07gps6fl2vm

    Osmosis: osmo1urvqe5mw00ws25yqdd4c4hlh8kdyf567mpcml7cdve9w08z0ydcqvsrgdy


    Types

    The types of the Rewards Collector Contract can be found .


    Queries

    config

    Returns the Contracts configuration.


    Methods

    The rewards collector contract is operated by a bot used by the Mars Protocol contributors. There is no need for third party contributors to run or execute the methods of the rewards collector. That's why they are not part of the documentation.

    Price Impact

    Price impact mechanism simulates an order book by adding a slippage percentage to each order that is proportional to the skew and position size.

    Market Impact Mechanism

    The market impact model adjusts execution prices based on the current market skew and the size of the incoming order. In this approach traders pay premiums when expanding market imbalance and receive discounts when helping to balance it. The system ensures that larger directional positions face progressively higher costs, naturally limiting extreme skew accumulation.

    Managing a Vault

    After successfully creating your Vault, you’ll be redirected to its management dashboard.

    This is your control center for monitoring performance, managing positions, and preparing for withdrawals.

    You can return to this page anytime via the vault page, your portfolio, or by selecting the vault from the Credit Account dropdown menu.

    This screen provides a live overview of your vault’s performance, withdrawal status, and available management actions.

    Perpetual Futures (Perps)

    Mars Protocol offers oracle-based perpetual futures trading, seamlessly integrated into its Credit Account system.

    This architecture enables cross-margined and cross-collateralized leveraged trading using USDC as the settlement asset.

    Unlike traditional orderbook-based systems, Mars executes perp trades at real-time oracle prices, ensuring deep liquidity access and deterministic execution - making it especially suitable for capital-efficient DeFi trading.

    Key Mechanics

    Risk Methodology

    Every new protocol integration or asset listing on Mars Protocol introduces unique opportunities - and unique risks.

    To safeguard the system and user funds, Mars applies a rigorous, data-driven risk assessment framework developed by Mars Protocol Foundation and executed by the .

    This framework is designed to balance capital efficiency with robust risk mitigation, using both traditional finance tools and DeFi-native insights.


    Risk Framework Overview

    The is a structured process used to evaluate:

    Vault Solvency Protection

    Vault Collateralization Ratio

    The vault collateralization ratio (CR) is a critical solvency metric that measures the vault's ability to cover trader profits and maintain system stability. When this ratio falls below safe thresholds, an automated deleveraging mechanism activates to protect liquidity providers and preserve the protocol's financial integrity by systematically reducing the most profitable positions.

    CR represents the relationship between the vault's available funds and its potential obligations to profitable traders. This ratio provides real-time insight into the vault's financial health and determines when protective measures must be activated.

    where:

    Zapper

    The Zapper contract serves as a wrapper to facilitate the provision and withdrawal of liquidity for the Mars Protocols Farm feature. It also handles estimations based on the data provided.

    Deployments

    Neutron:

    Osmosis:


    Creating a Vault

    Managed Vaults on Mars Protocol enable users to deploy trading strategies on behalf of depositors.

    As a vault manager, you can execute trades using your vault’s account, but you cannot withdraw or transfer deposited assets directly. In return for managing the strategy, you earn a performance fee — a percentage of the vault's profit, that is claimable monthly.

    This guide walks you through the steps to create and manage a Vault using the Mars App interface. You’ll learn how to:

    • Set up your vault’s parameters (title, fee, lockup period, etc.)

    • Optionally seed your vault with an initial deposit

    Managed Vaults

    Managed Vaults on Mars Protocol are a powerful tool enabling the decentralized deployment of trading strategies via community-managed Credit Accounts.

    These vaults allow experienced traders or strategy designers to operate funds on behalf of depositors—while adhering to strict security and operational constraints.

    Each Managed Vault is built on a Credit Account, giving the manager access to leverage and trading capabilities without ever being able to directly deposit or withdraw assets, ensuring robust separation of powers and minimizing risk.


    Key Features

    Managed Vaults are designed to combine capital efficiency, decentralized strategy deployment, and user safety

    1,000,000,000 MARS
  • Proportional Velocity: The greater the relative skew compared to its maximum threshold, the faster the funding rate adjusts, ensuring rapid response to significant imbalances.

  • rt=rt−1+maxFundingVelocity×pSkewt×timeDeltatsecondsInDayr_t = r_{t-1} + maxFundingVelocity \times pSkew_t \times \frac{timeDelta_t}{secondsInDay}rt​=rt−1​+maxFundingVelocity×pSkewt​×secondsInDaytimeDeltat​​
    pSkewt=skewt/skewScalepSkew_t = skew_t / skewScalepSkewt​=skewt​/skewScale
    F=F0,F1,…,FtF = {F_0, F_1, \ldots, F_t}F=F0​,F1​,…,Ft​
    Ft=Ft−1−utF_t=F_{t-1}-u_tFt​=Ft−1​−ut​
    utu_tut​
    ut=por,tpor,tUSDC×rt+rt−12×timeDeltasecondsInDayu_t = \frac{p_{or,t}}{p_{or,t}^{USDC}} \times \frac{r_t + r_{t-1}}{2} \times \frac{timeDelta}{secondsInDay}ut​=por,tUSDC​por,t​​×2rt​+rt−1​​×secondsInDaytimeDelta​
    Ft0F_{t_0}Ft0​​
    ft=q×(Ft−Ft0)f_t = q \times (F_t - F_{t_0})ft​=q×(Ft​−Ft0​​)
    Ft0=1.5F_{t_0} = 1.5Ft0​​=1.5
    Ft=1.48F_t = 1.48Ft​=1.48
    ft=10×(1.48−1.5)=−0.2f_t = 10 \times (1.48 - 1.5) = -0.2ft​=10×(1.48−1.5)=−0.2
    q=−5q = -5q=−5
    Ft0=1.5F_{t_0} = 1.5Ft0​​=1.5
    Ft=1.48F_t = 1.48Ft​=1.48
    ft=−5×(1.48−1.5)=0.1f_t = -5 \times (1.48 - 1.5) = 0.1ft​=−5×(1.48−1.5)=0.1

    TVL (Total Value Locked): The current vault cash-flow balance representing actual deposited funds

  • VaultDebt: The positive net global unrealized PnL that the vault owes to traders

  • Collateralization Ratio Interpretation

    The collateralization ratio provides clear signals about vault health:

    • CR > 1.5: Healthy vault with adequate reserves

    • CR = 1.5: Critical threshold triggering auto-deleveraging

    • CR < 1.5: Active deleveraging zone requiring immediate position reductions

    • CR < 1.0: Vault insolvency requiring emergency measures

    Auto-Deleverage Mechanism

    When the collateralization ratio drops below 1.5, the protocol automatically activates deleveraging procedures to restore vault stability. This mechanism prioritizes the most profitable positions for closure, as reducing these positions provides the greatest improvement to the collateralization ratio.

    Deleverage Process

    Deleveraging Process

    The auto-deleveraging system follows a systematic approach:

    1. Threshold Monitoring: Continuous monitoring of the collateralization ratio

    2. Trigger Activation: Auto-deleveraging begins when CR falls below threshold

    3. Position Selection: The system identifies the most profitable positions across all markets

    4. Sequential Closure: Positions are closed in order of profitability, starting with the highest unrealized gains

    5. Ratio Improvement: Each closure improves the collateralization ratio by reducing vault debt

    6. Continuation: The process continues until CR rises above threshold

    Mathematical Rationale

    The effectiveness of closing profitable positions can be demonstrated through collateralization ratio analysis. When the vault is solvent (CR ≥ 1.0), closing the most profitable position always improves the ratio because:

    • The vault debt decreases by the full amount of the position's unrealized profit

    • The vault's cash decreases by the same amount when paying out the profit

    • Since CR ≥ 1.0, the vault has sufficient funds to cover the payout while improving the overall ratio

    Benefits of Auto-Deleverage

    Auto-deleveraging provides essential protections for all stakeholders:

    1. Liquidity Providers: Protected from excessive losses and vault insolvency

    2. Traders: Benefit from system stability and continued operation

    3. Protocol: Maintains integrity and user confidence

    4. Market: Preserves orderly functioning during stress periods

    This mechanism ensures that even during periods of extreme market movements or concentrated profitable positions, the vault maintains sufficient collateralization to honor its obligations while protecting the broader ecosystem from systemic risk.

    CR=TVLVaultDebtCR = \frac{TVL}{VaultDebt}CR=VaultDebtTVL​
    app.marsprotocol.io
    Create a Credit Account
    Using a Credit Account
    Mars Protocol toolbar with “Connect Wallet” button on the right.
    “Master the Red Planet” modal with “Agree & continue” button.
    Wallet selection list.
    Trading and Collateralization
    • Oracle Pricing: All perpetual futures trades are executed at the oracle price, removing reliance on orderbook liquidity and minimizing front-running risks.

    • Cross-Margining: Unrealized Profit and Loss (PnL) across positions can be used as additional margin, increasing capital efficiency.

    • Cross-Collateralization: Any whitelisted asset within a Credit Account (e.g., ATOM, stATOM, dATOM, etc.) can serve as collateral for perpetual futures positions, not just USDC.


    Trading Fees

    • Per Trade Fee: A fixed 0.075% fee is charged on the notional value of each perpetual futures trade. This fee is collected in USDC and partially allocated to the Perps Vault.


    Funding Rate Mechanism

    To maintain alignment between perpetual futures prices and the underlying spot price, Mars implements a skew-based funding rate model:

    • Skew-Based Calculation: Funding rates are determined by Open Interest (OI) imbalance between long and short positions - referred to as skew.

    • Velocity and Accumulation:

      • The longer the skew persists in one direction, the faster funding costs accumulate.

      • If skew reverses, the funding rate dampens accordingly.

    • Key Parameters:

      • SkewScale: Determines the sensitivity of funding rate to skew size.

      • Funding Rate Velocity: Controls the rate at which funding accrues.


    Expected Price Dynamics

    The effective trading price of a perpetual contract can deviate from the oracle price depending on skew:

    • Reduced Skew = Favorable Price: When a trade reduces skew, execution price is more favorable to the trader.

    • Increased Skew = Unfavorable Price: When a trade increases skew, execution price becomes less favorable, discouraging imbalance.


    The Perps Vault

    The Perps Vault acts as the counterparty to all trades and manages trade settlements in USDC.

    • PnL Settlements:

      • Positive PnL: Paid out from the vault to the user's Credit Account.

      • Negative PnL: Collected from the user's Credit Account.

        • If the account lacks sufficient USDC, the deficit is borrowed from the Red Bank (Mars Money Market).

    • Deposit Lock-Up: Deposits into the vault are subject to a 10-day lockup period.

    • Fee Participation: The vault receives a portion of trading fees, supporting long-term sustainability.


    Keeper Order Bots

    Mars supports automated order execution through third-party Keeper Bots, enabling:

    • Advanced Order Types:

      • Limit Orders

      • Stop Orders

      • Take Profit / Stop Loss

    • Keeper Fee System:

      • Minimum Fee: $0.20 (adjustable by user).

      • Priority Queue: Higher Keeper Fees result in faster execution priority.

      • Health Checks: If the order violates health checks (e.g., insolvency), it is cancelled and the Keeper Fee is still paid.


    Risk Parameters and Controls

    Mars Protocol enforces robust limits to mitigate systemic risk:

    • MaxOI (Maximum Open Interest): Caps total open interest across long and short positions based on vault liquidity and asset volatility.

    • MaxSkew: Defines the maximum allowed imbalance between long and short positions to prevent destabilization.

    • Auto-Deleveraging (ADL): Triggered when either MaxOI or MaxSkew limits are breached. Positions with larger notional values are prioritized for forced reduction, ensuring system solvency.


    Mars Perpetual Futures combine high capital efficiency with risk-aware design, enabling a scalable, transparent, and fair trading environment without traditional orderbook dependencies.

    . Core features include:
    • Vault Manager Access: Managers interact with the Mars trading interface to execute trades and manage leveraged positions via the Credit Account.

    • No Manager Withdrawals: Managers are restricted from withdrawing from the vault directly. This guarantees that only users control capital outflow.

    • Fungible LP Shares: Users who deposit into a vault receive fungible vault shares, which represent their proportional claim on the vault’s assets and performance.

    • Automated Liquidity Handling: If users request withdrawals and the vault lacks sufficient asset (e.g. USDC) liquidity, the system will automatically borrow the asset (e.g. USDC) from the Red Bank to fulfill the request, maintaining usability and minimizing friction.


    Vault Parameters

    Managed Vaults incorporate configurable parameters to balance flexibility with control:

    Performance Fee

    • Managers can claim fees monthly, aligned with protocol governance standards.

    • Performance fee rates are adjustable, but only during the monthly withdrawal window to ensure transparency and user trust.

    Withdrawal Period

    • Vaults may enforce a withdrawal lock-up period, designed to protect strategy integrity and manage liquidity effectively.

    • This period defines how often users may withdraw their funds from the vault.


    Vault Management Mechanics

    Mars Protocol introduces mechanisms to ensure vaults remain responsive to user actions while preserving strategic autonomy for managers.

    • Withdrawal Scheduling: The user interface clearly communicates the upcoming withdrawal window, allowing users and managers to plan accordingly.

    • Asset Liquidity Preparation: Vault managers can proactively prepare asset liquidity before scheduled withdrawals to avoid slippage or forced borrowing.

    • Automated Borrowing Backup: If a vault is underprepared, Mars will automatically borrow the base asset from the Red Bank to fulfill withdrawals. This ensures withdrawal reliability without compromising the strategy.


    Tutorials and How-Tos

    To support users and prospective vault managers, Mars Protocol provides comprehensive tutorials:

    • Creating a Vault A guide for traders or strategy designers on how to configure and launch a vault.

    • Managing a Vault A guide for traders or strategy designers on how to responsibly manage a vault.

    • Depositing into Vault Step-by-step instructions for users to evaluate, select, and deposit into a community vault.


    Managed Vaults democratize access to advanced DeFi strategies, allowing passive users to benefit from the expertise of experienced traders while maintaining non-custodial control and system-wide transparency.

    Creating a Vault
    Managing a Vault
    Depositing into Vault
    here
    Types

    The types of the Zapper Contract can be found here.

    For reference on the Queries and Methods:


    Queries

    estimate_provide_liquidity

    Estimates the amount of liquidity pool (LP) tokens that are returned after providing liquidity to a certain LP.

    estimate_withdraw_liquidity


    Methods

    callback

    provide_liquidity

    withdraw_liquidity

    neutron1dr0ckm3u2ztjuscmgqjr85lwyduphxkgl3tc02ac8zp54r05t5dqp5tgyq
    osmo17qwvc70pzc9mudr8t02t3pl74hhqsgwnskl734p4hug3s8mkerdqzduf7c
    Query message
    {
        config: {}    
    }
    Return output
    {
        data: {
            address_provider: string
            channel_id: string
            fee_collector_config: {
                target_denom: string
                transfer_type: 'ibc' | 'bank'
            }
            owner?: string | null
            proposed_new_owner?: string | null
            revenue_share_config: {
                target_denom: string
                transfer_type: 'ibc' | 'bank'
            }
            revenue_share_tax_rate: Decimal
            safety_fund_config: {
                target_denom: string
                transfer_type: 'ibc' | 'bank'
            }
            safety_tax_rate: Decimal
            slippage_tolerance: Decimal
            timeout_seconds: number
        }
    }
    Base Types
    type Addr = string
    type Uint128 = string
    Coin Types
    interface Coin {
      amount: Uint128
      denom: string
      [k: string]: unknown
    }
    Query message
    {
        estimate_provide_liquidity: {
            coins_in: Coin[]
            lp_token_out: string
        }
    }
    Return output
    {
        data: Uint128
    }
    Query message
    {
        estimate_withdraw_liquidity: {
            coin_in: Coin
        }
    }
    Return output
    {
        data: Coin[]
    }
    Execution message
    {
        callback: {
            return_coin: {
                balance_before: Coin
                recipient: Addr
            }
        }
    }
    Execution message
    {
        provide_liquidity: {
            lp_token_out: string
            minimum_receive: Uint128
            recipient?: string | null
        }
    }
    Execution message
    {
        withdraw_liquidity: {
            minimum_receive: Coin[]
            recipient?: string | null
        }
    }

    Buy & Burn

  • Buy & LP

  • this
    neutron1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqhufaa6
    this
    Astroport
    Skip API
    How It Works

    When a trader places an order, the oracle price is adjusted based on both the current market skew and the impact of their specific trade. The execution price is calculated using the formula:

    where the premiums are determined by the market skew before and after the trade:

    The initial skew represents the current market imbalance, while the final skew shows the market state after the trade is executed. For position opening, FinalSkew=InitialSkew+qFinalSkew = InitialSkew + qFinalSkew=InitialSkew+q, and for position closing, FinalSkew=InitialSkew−qFinalSkew = InitialSkew - qFinalSkew=InitialSkew−q, where qqq is the position size.

    The parameter skewSclae is calibtarted to align price slippage in perp trading with that of underlying asset spot trading on external markets under balanced market conditions (zero skew). This ensures appealing trading execution when the market exhibits no directional bias.

    Price Impact Examples

    Consider an ETH perpetual market with a SkewScale of 1,000,000 ETH and current oracle price of $2,000:

    Expanding Skew Example: The market currently has a +50 ETH skew (equivalent to $100,000 at current prices). Alice wants to open a $10,000 long position (5 ETH), further expanding the skew.

    • Initial skew: 50 ETH

    • Final skew: 50+5=5550 + 5 = 5550+5=55 ETH

    • Initial premium: 50÷1,000,000=0.00550 \div 1,000,000 = 0.005%50÷1,000,000=0.005

    • Final premium: 55÷1,000,000=0.005555 \div 1,000,000 = 0.0055%55÷1,000,000=0.0055

    • Average premium:

    • Execution price:

    Reducing Skew Example: Bob wants to open a $10,000 short position (5 ETH), helping to balance the market.

    • Initial skew: 50 ETH

    • Final skew: 50−5=4550 - 5 = 4550−5=45 ETH

    • Initial premium: 50÷1,000,000=0.00550 \div 1,000,000 = 0.005%50÷1,000,000=0.005

    • Final premium: 45÷1,000,000=0.004545 \div 1,000,000 = 0.0045%45÷1,000,000=0.0045

    • Average premium:

    • Execution price:

    In this example, Alice pays a small premium of $0.105 per ETH for expanding the skew, while Bob pays a slightly smaller premium of $0.095 per ETH for helping to balance the market. The impact is minimal for small positions relative to the SkewScale but demonstrates how the mechanism rewards market-balancing behavior.

    Market Impact Role

    The market impact model provides several key benefits to the ecosystem:

    1. Skew Management: By making skew expansion more expensive and skew reduction cheaper, the system naturally encourages balanced markets.

    2. LP Protection: Liquidity providers face reduced directional risk as extreme skew positions become economically prohibitive.

    3. Fair Pricing: Traders who help balance the market are rewarded with better execution prices, while those who increase risk pay appropriate premiums.

    4. Manipulation Resistance: Large coordinated attempts to create extreme skew face increasing costs, making price manipulation attacks economically unfeasible.

    This market impact mechanism works in conjunction with the funding rate system to create multiple layers of incentives that promote market stability and protect all participants from excessive directional exposure.

    pex=por×(1+InitialPremium+FinalPremium2)p_{ex} = p_{or} \times \left( 1 + \frac{InitialPremium + FinalPremium}{2} \right)pex​=por​×(1+2InitialPremium+FinalPremium​)
    InitialPremium=InitialSkewSkewScaleInitialPremium = \frac{InitialSkew}{SkewScale}InitialPremium=SkewScaleInitialSkew​
    FinalPremium=FinalSkewSkewScaleFinalPremium = \frac{FinalSkew}{SkewScale}FinalPremium=SkewScaleFinalSkew​
    Key Areas of the Vault Dashboard

    Here are the key elements you'll find on the vault dashboard:

    • Vault Summary (left panel) Shows your vault’s title, description, APY, total value locked (TVL), performance fee %, and the withdrawal freeze period. It also includes your Stargaze-linked identity (if connected).

      APY — Based on 30-day rolling average of vault performance. Newer vaults may show volatile or inflated values until the data matures.

      An -100% APY (as a result of a young age of the vault) will be shown as 0.00%

    • Performance Fee Panel (top panel)

      Shows how much in fees you’ve earned. You can only claim performance fees once per month — typically during a claim window. A Claim button will be enabled when eligible.

      Note: The displayed fee amount is based on the vault’s accrued PnL, which only updates when a user deposits into or withdraws from the vault. If there’s no user activity, the value may appear unchanged even if your positions are profitable.

    • Deposit / Unlock Buttons You can deposit additional funds into your own vault or unlock funds if you’ve previously deposited.

    • Withdrawal Activity Tabs This section is split into three tabs, helping you track and manage vault withdrawals and liquidity. You should monitor it closely to ensure your vault can fulfill queued withdrawals. 1. Withdrawal Summary

      Provides a snapshot of your vault’s ability to fulfill user withdrawals. You should monitor this closely.

      Includes:

      • Depositor Withdrawal Period – The lockup duration before users can withdraw

      • Queued Withdrawals – Number of active user withdrawal requests

    • Health & Position Metrics (bottom panel) Displays key risk indicators such as health factor, leverage, total position value, debt, and current position APY.

    If your vault has any active positions, the bottom panel will display additional tabs such as Summary, Balances, and Perps Positions.


    Claiming & Editing Your Performance Fee

    As a vault manager, you earn a performance fee based on profits generated by your strategy. You can claim and optionally update this fee, but both actions have some important rules.

    Claiming Your Fee

    • You can claim your performance fee once per month, during a designated claim window.

    • The fee is paid in the base token you selected when creating the vault (e.g. USDC).

    • If your vault has not generated any profit since the last claim, no fee will be available to withdraw.

    How it works

    • Performance fees accrue based on realized profits only.

    • If your vault closes profitable trades, fees accumulate.

    • If the vault later incurs losses, the accrued fee decreases — meaning you only earn fees when the strategy is net positive over time

      Example: If a vault realizes a $1,000 profit and the performance fee is 10%, the manager earns $100. If the vault later loses that $1,000, the fee accrual resets to $0.

    Note: The claimable amount only updates when someone interacts with the vault (e.g. deposits or withdrawals). If there’s no activity, it may appear unchanged even if your positions are profitable.

    Editing Your Fee

    • You can change your performance fee at any time, but only once per month.

    • When you submit an update, any accrued fee will be withdrawn automatically as part of that transaction.

    • The maximum allowed fee is 40% — anything above will be rejected.

    Tip: If you're planning to adjust your fee, time it strategically around your next claim window.


    Trading with the Vault

    To begin executing your strategy, click the Manage Vault button from the vault dashboard. This will take you to the Mars trading interface with your vault account preselected for trades, ensuring that all trades you perform are on behalf of the vault — not your personal wallet.

    You can also quickly switch between vaults — just like you do with your Credit Accounts — using the Accounts dropdown in the top navigation.

  • New protocol integrations

  • Asset listings (standard tokens and LP tokens)

  • Risk parameters (e.g., LTVs, borrow caps, liquidation thresholds)

  • Originally developed for Mars v2, the framework incorporates international best practices while addressing the unique volatility, decentralization, and oracle dependence of DeFi.


    Risk Assessment Tools

    Mars combines traditional and crypto-native tools to quantify asset risk:

    Metric Type
    Description

    TradFi Metrics

    Conditional Value at Risk (CVaR), Amihud Illiquidity Measure

    DeFi Metrics

    Oracle reliability, smart contract security, decentralization scoring

    All assets are scored along a risk spectrum. Higher-risk assets are assigned more conservative parameters to mitigate systemic risk.


    Two-Phase Evaluation Process

    1. Technical & Centralization Risk Assessment

      • Smart contract safety

      • Governance design and decentralization

      • Oracle dependency

      • Bridge and protocol integration reliability

    2. Market & Liquidity Risk Modeling

      • On-chain liquidity depth and trading volume

      • Slippage sensitivity

      • Asset volatility


    Governance and Oversight

    • The Mars Protocol DAO is responsible for applying this framework.

    • Risk parameters can be updated over time as asset performance, liquidity, or market conditions evolve.

    Mars Protocol Governance
    Mars Risk Framework

    Finalize vault creation and start managing assets


    Note:

    • A $50 creation fee is charged in the selected deposit asset at the time of vault creation.

    • It is recommended vaults are funded upon creation in order to appear in the public vault listings. Unfunded vaults will remain hidden.


    Here’s what the Create Vault screen looks like in the Mars App:

    This screen allows you to configure your vault’s title, asset, initial deposit, performance fee, and withdrawal lockup period.

    Add a Clear Strategy Description

    When filling in the description field during vault creation, it's important to clearly explain the strategy your vault will follow.

    A good description helps depositors understand what they’re investing in, how the strategy works, and what to expect in terms of risk or asset focus.

    Example: “Rotates between BTC and ETH perpetuals based on relative strength and market signals. Optimized for volatile market conditions.”

    Avoid vague descriptions like “trading stuff” or “DeFi plays.” The more transparent and specific you are, the more likely users will trust and deposit into your vault.

    Optional: Personalize your vault

    You can connect your Stargaze profile or IBC/ICNS Domain to display a profile picture, social links, and ENS-style name alongside your vault. This adds credibility and helps depositors connect with your strategy.


    Finalizing Your Vault

    Once you're happy with your vault’s configuration - including its title, strategy description, performance fee, lockup period, and initial deposit - you can proceed with the creation process.

    Creating a Managed Vault requires up to three on-chain transactions:

    1. Vault Creation – Deploys the vault and saves its parameters

    2. Vault Account Minting – Sets up the credit account tied to the vault

    3. Initial Deposit (optional) – If you choose to deposit during creation

    You’ll be prompted to approve each step in your wallet.

    After creation is complete, you’ll be redirected to your vault’s dedicated management page. From there, you can begin monitoring performance and executing your trading strategy.

    If you funded the vault during creation, it will also appear on the main public vaults listing. Unfunded vaults will remain hidden.


    Note:

    The vault title, deposit asset, description, and withdrawal lockup period cannot be changed after creation.

    You can still adjust the performance fee later - but only once per month, typically during the performance fee claim window.

    Spot & Margin Trading

    Mars Protocol supports two primary modes of trading: Spot Trading and Margin Trading.

    These functions are unified within the Credit Account system, allowing users to interact with the protocol in a capital-efficient and user-friendly way.

    Spot Trading

    Spot Trading on Mars refers to the direct exchange of one asset for another using the funds already available in a user's Credit Account. It does not involve leverage, borrowing, or margin mechanics.

    • Users simply swap an asset (e.g., USDC for ATOM) at the current market rate.

    • All trades are executed through integrated decentralized exchanges (DEXs).

    • No risk of liquidation exists, as the trade only involves assets the user already owns.

    This mechanism mirrors conventional DEX trading but benefits from Mars’ unified collateral model and smooth interface.


    Margin Trading

    Margin Trading enables users to trade with leverage—meaning they can take on positions larger than their current account balance by borrowing additional assets from the Mars money market (Red Bank).

    For example:

    • A user with 100 USDC in their Credit Account may open a 500 USDC position on ATOM by borrowing 400 USDC.

    • This leveraged exposure amplifies both potential profits and potential losses.


    Why Mars is Different

    Traditional DeFi platforms often require a multi-step "looping" strategy to achieve leverage:

    1. Deposit collateral

    2. Borrow a second asset

    3. Swap the borrowed asset

    4. Repeat to compound leverage

    This approach is:

    • Capital-inefficient, locking up additional assets with each loop

    • Gas-intensive and requires manual, error-prone steps

    Mars Protocol introduces a superior model:

    Capital Efficiency & UX Advantages

    • One-Click Leverage Margin trades are executed in a single transaction, with collateral, borrowing, and swapping handled atomically.

    • Unified Credit Accounts All assets deposited into a Credit Account act as cross-collateral, maximizing margin availability without requiring asset segregation.

    • Seamless Protocol Integration No interaction with multiple contracts or external protocols is needed. Users engage in leveraged trading directly within the Mars interface.


    Understanding Leverage Risk

    While margin trading offers significant upside, it also introduces elevated risk, particularly liquidation risk.

    Liquidation Risk

    If the value of your collateral falls too far relative to your borrowed position, your Credit Account can be liquidated:

    • Liquidation is triggered when the health factor of the account falls to 1.0 or below.

    • Mars Protocol provides an estimated liquidation price for each position, helping users manage risk proactively.

    Liquidation Price Dynamics

    In simple accounts (e.g., one leveraged position, stablecoin debt), the liquidation price estimate is reliable.

    However, liquidation prices can become more dynamic under the following conditions:

    • The account holds multiple positions

    • The borrowed asset is volatile, not a stablecoin

    • Other collateral or debt assets fluctuate significantly in price

    In these scenarios, small market movements can shift liquidation thresholds unpredictably. Thus, regular monitoring of account health and conservative leverage are strongly advised.


    Summary

    Feature
    Spot Trading
    Margin Trading

    Spot and Margin Trading on Mars Protocol are unified through a capital-efficient, user-friendly framework that simplifies DeFi trading while expanding access to advanced strategies—without compromising transparency or risk controls.

    Tutorial

    How to set up a Wallet

    Step-by-step guide on how to create a wallet

    Introduction

    Since the Mars Protocol is a Cosmos-based app, users need a Cosmos-compatible wallet. In this guide, we’ll focus on creating a new wallet from scratch.

    Some supported options include:

    • Keplr

    • (former XDEFI)

    • (via the Leap Cosmos Snap integration)


    1. Install a Wallet Extension

    • Open the Extension Store

      • In Chrome or Brave, go to the (or Brave Extension Store) and search for your chosen wallet (e.g., “Keplr Wallet”).

      • In Edge, enable Allow extensions from other stores in Settings, then visit the Chrome Web Store page for your wallet.

    • Add to Browser


    2. Open the Wallet Extension and Create a New Wallet

    • Launch the Extension

      • Click the puzzle-piece (🧩) icon in your toolbar, then select your wallet.

    • Choose a Setup Option

      • Create a new wallet


    3. Back Up Your Secret Recovery Phrase

    • Reveal the Phrase

      • Click Show my phrase to display your 12 (or 24) secret words.

    • Store It Securely

      • Write down


    Next Steps

    Your new Cosmos-compatible wallet is ready. Now proceed to our guide:


    Video Tutorial

    How to Resume Vault Creation

    This step-by-step guide shows you how to resume vault creation — whether you dropped off before completing the setup, or encountered a timeout or other error during the process.

    If You Didn’t Finish Vault Setup

    If you approve the first transaction (Vault Creation) but drop out before completing the process (Vault Account Minting or Deposit), don’t worry — your progress is saved.

    • A "Continue Setup" button will appear the next time you visit:

      • The Create Vault page

      • Or your My Vaults table

    • This allows you to finish setting up your vault without re-entering the details.

    The initial transaction already charged the $50 creation fee and saved your vault parameters on-chain. You will not be charged again. You only need to complete:

    1. Vault Account Minting

    2. (Optional) Initial Deposit — if you had selected it

    Once these are done, your vault will be fully functional and, if funded, listed publicly.

    If you decide not to continue, you can delete the draft vault from the same “Continue Setup” dialog.

    • This action is irreversible.

    • Any fees already paid (e.g., the $50 creation fee) will not be refunded.


    What if a Transaction Timed Out?

    If you encounter the following error during vault creation:

    “Transaction with ID {TX_ID} was submitted but was not yet found on the chain. You might want to check later. There was a wait of 15 seconds.”

    This indicates that your transaction timed out during the instantiation of the vault. While the transaction may have succeeded on-chain, the app lost track of it due to latency or network issues.

    Resume the Vault Creation

    Instead of restarting the process entirely, you can manually resume vault creation by recovering the contract address and proceeding with a dedicated resume flow.


    Step-by-Step Guide

    Step 1: Locate the Vault’s Contract Address

    1. Open the and click the wallet icon in the top-right corner.

    1. Click the “View on Mintscan” button to open your account details in Mintscan.

    2. Scroll down to the Transactions list and look for the most recent transaction with the message type Instantiate Contract. Click on it to view details.

    Note: If there is no transaction with the message Instantiate Contract, your transaction might not have reached the chain at all. In this case, it's safe to restart the creation process from the beginning.

    1. In the transaction detail view, scroll down to the #1. Instantiate Contract section.

    1. Under the Instantiates: field, locate the value labeled contract_address.

    2. Hover over the address and click the copy icon to copy the vault’s contract address.


    Step 2: Resume Vault Creation

    Once you have copied the vault contract address, you can resume creation using the create vault page:

    1. Click on the Contine Setup button inside the .

    Alternatively use the Continue Setup button in the .

    1. Insert the copied Vault Address into the modal, that shows after clicking on the Continue Setup button.

    1. Click on Continue Minting Vault and you will be able to resume the minting process.


    Summary

    In the event of a transaction timeout during vault instantiation, your vault may still be live on-chain. By locating the contract address and visiting the Create Vault page, you can seamlessly continue the setup process without starting over.

    Perps Vault (Counterparty Vault)

    The Perps Vault serves as the counterparty to all perpetual futures trades executed on Mars Protocol.

    It plays a critical role in ensuring reliable USDC-based settlement, effective risk management, and long-term system sustainability.

    Core Function

    Unlike traditional perpetual futures platforms that match users against each other (peer-to-peer), Mars Protocol operates a vault-based counterparty model. All trades—long or short—are executed against the Perps Vault, which holds and redistributes USDC for trade settlements.

    This design enables:

    • Deterministic, oracle-based pricing

    • Simplified trade matching

    • Efficient PnL settlement


    PnL Settlement Mechanics

    The Perps Vault is responsible for managing Profit and Loss (PnL) settlement flows between itself and users' Credit Accounts:

    • Positive PnL (User Profit): The vault pays out USDC to the user's Credit Account when the user closes a profitable position.

    • Negative PnL (User Loss): Losses are deducted from the user’s Credit Account and transferred to the vault.

      • If the account does not have enough USDC, the shortfall is automatically borrowed from the Red Bank, Mars Protocol’s decentralized money market.

    This mechanism ensures smooth settlement even when accounts are undercollateralized in USDC, maintaining trading continuity.


    Deposit Lock-Up Policy

    • Lock-Up Period: All deposits into the Perps Vault are subject to a 10-day lock-up period.

      This measure:

      • Provides predictable liquidity for settlement needs

      • Reduces volatility in vault capacity


    Revenue Share Participation

    The Perps Vault is incentivized to provide liquidity and absorb trade risk through a revenue-sharing model:

    • It receives a portion of perpetual trading fees collected on the platform.

    • These fees are denominated in USDC and accrue over time, bolstering the vault’s capital reserves and enabling long-term participation.

    This revenue stream also aligns the vault’s sustainability with the health and growth of the Mars Perpetual Futures ecosystem. Perpetuals on Mars charge a 0.075% fee per trade. This fee is split between liquidity providers and the protocol:

    • 75% goes to Perps Vault depositors, rewarding them for providing settlement liquidity.

    • 25% goes to protocol revenue, supporting long-term sustainability and development.


    Daily APY

    It reflects the daily interest generated from the vault’s accrued trading fees. It varies with platform activity, offering compounded returns to Liquidity Providers (LPs) through the revenue-sharing model.

    APY Calculation:

    • PT = today’s average share-price

    • PT−30 = average share-price 30 days ago


    Summary

    Feature
    Description

    The Perps Vault is a cornerstone of Mars Protocol’s Perpetual Futures system, enabling non-custodial, oracle-priced, and capital-efficient trading with robust liquidity and settlement guarantees.

    SkewScale

    This section explains how the SkewScale parameter is calibrated in the price impact model and the funding rate model.

    SkewScale in the Price Impact Model

    Parameter Calibration Rationale

    The parameter calibration aims to align price slippage in perp trading with that of underlying asset spot trading on external markets under balanced market conditions (zero skew). This ensures appealing trading execution when the market exhibits no directional bias.

    Depending on the prevailing skew and the direction of the order, the actual slippage may be less than or exceed the slippage on the global market.

    Calculation

    where

    is the token-denominated global market depth. The final skewScale is rounded to a specific power of 10 depending on number' magnitude.

    Formal proof is provided in the Appendix.

    Input Data

    Data Item
    Description
    Source
    Period/Frequency
    Processing

    Key Assumptions

    • Linear price impact model is used.

    SkewScale in the Funding Rate Model

    The same SkewScale parameter is utilized in the funding rate model through a mathematical transformation that establishes the relationship between funding velocity and market skew.

    In the funding rate model, the rate is designed to be proportional to the skew relative to the maximum allowable skew:

    We can rewrite this equation as follows:

    Let's define the following notation:

    Then we have the following model (which is used in production):

    Therefore, the same skewScale parameter is used in the funding rate model, given that maxFundingVelocity is determined using the aforementioned transformation.

    Appendix. Proof for the skewScale formula

    The price model with the market impact is the following:

    where is the order execution price, is the oracle price, is the position size (positive or negative), is the current skew (positive or negative), is the model parameter.

    Let the current skew is zero (the market is perfectly balanced).

    According to the price model, when a user opens a position of size , the percentage price slippage is the following:

    where is positive when and negative otherwise.

    When the slippage is known, the parameter can be found as follows:

    We use global slippage as a benchmark to calibrate the parameter. When opening a long position of size the slippage should be . Then we have the parameter value for longs:

    When opening the short position of size the slippage should be . Then we have the parameter value for shorts:

    The minimum is taken to get the final parameter:

    where

    This completes the proof.

    Using a Credit Account

    A Credit Account on Mars Protocol lets you deposit collateral and borrow or trade on margin with leverage. This tutorial will walk you through creating your first Credit Account.

    Introduction

    In order to interact with Mars Protocol V2 and access all features (see Credit Accounts) you must first create a Credit Account.


    1. Create & Fund an Account

    If you don’t yet have a Credit Account, you’ll be taken straight to the Create and Fund a Credit Account page:

    Create and Fund a Credit Account
    • Optionally connect an EVM wallet to deposit USDC from an Ethereum or L2 chain

    • Select your collateral assets

      • Click Select Assets + to open the asset selector.

      • Whitelisted collateral appears at the top and non-whitelisted assets appear below (see the page).

    • Choose deposit amounts and click Fund Account.

      • After confirming the on-chain transaction, you’ll be redirected back to the app and see your new Credit Account in the navbar:


    2. Create Additional Accounts

    To open more than one Credit Account:

    1. Click the Credit Account dropdown in the navbar.

    2. Click Create + and you will be forwarded to the page.


    3. Manage Your Credit Accounts

    Once you have one or more Credit Accounts, you can Fund, Withdraw, or Delete any of them from the same navbar dropdown:

    3.1 Fund an Existing Account

    • Open the Credit Account dropdown and click Fund.

    • In the Fund Credit Account modal, select assets and amounts (same flow as initial funding) and click Fund Account.

    3.2 Withdraw from Your Account

    • From the Credit Account dropdown, click Withdraw.

    • In the Withdraw modal, choose asset and amount (use slider or MAX) and then click Withdraw →.

    3.3 Delete a Credit Account

    • Open the Credit Account dropdown and click Delete.

    • If you have outstanding debt or open Perps positions, you’ll first see a Repay Debts prompt:

    • Once clear, you’ll see your remaining assets summary, click Delete Account to withdraw them back to your wallet and close the account:

    Health Factor

    The health factor is a critical risk metric that determines whether a trading account remains solvent and above liquidation thresholds.

    The health factor computation varies depending on whether the account holds long or short perpetual positions, as each direction presents different risk profiles. The formula incorporates risk-weighted assets, position values, funding payments, and safety margins through closing fees to provide a comprehensive assessment of account solvency.

    Long Position Health Factor

    For accounts holding a single long perpetual position, the health factor is calculated as:

    HF=RWA+P×(LTVp−ϕc)+f$+×LTVpD+P0+f$−HF = \frac{RWA + P \times (LTV_p - \phi_c) + f_{\$}^+ \times LTV_p}{D + P_0 + f_{\$}^-}HF=D+P0​+f$−​RWA+P×(LTVp​−ϕc​)+f$+​×LTVp​​

    Short Position Health Factor

    For accounts holding a single short perpetual position, the health factor is calculated as:

    Component Defintions

    • (Risk-Weighted Assets): The value of all collateral assets other than the perpetual position, weighted by their respective loan-to-value ratios

    • : Total borrowings excluding the perpetual position being evaluated

    • : The loan-to-value parameter specific to perpetual positions, determining leverage

    • : The closing fee percentage

    Multiple Perp Positions

    In cases where an account holds multiple perpetual positions across different markets, the health factor is computed similarly by aggregating the corresponding numerator and denominator components from each position. Each perpetual position contributes its respective terms based on whether it is long or short, with all components summed together to calculate the overall account health factor.

    Health Factor Interpretation

    The health factor provides clear guidance on account status:

    • HF ≥ 1.0: Account is healthy and above liquidation threshold

    • HF < 1.0: Account is subject to liquidation to protect system solvency

    • Higher values: Indicate greater safety margins and ability to withstand adverse price movements

    • Values approaching 1.0: Signal increasing risk and potential need for additional collateral

    Risk Management Through Health Factor

    The health factor serves multiple risk management functions:

    1. Position Sizing: Maximum position sizes are determined by ensuring health factor remains above 1.0

    2. Liquidation Trigger: Automatic liquidation begins when health factor drops below 1.0

    3. Real-time Monitoring: Continuous calculation allows traders to monitor their risk exposure

    Example of Health Factor Calculation

    Consider a trader with the following account composition:

    • $50,000 USDC collateral (Liquidation LTV for USDC = 92%)

    • $20,000 in other risk-weighted assets

    • $10,000 total debt

    • 10 ETH long position opened at $2,000 per ETH

    Calculations:

    • RWA = $50,000 × 0.92 + $20,000 = $66,000

    • P₀ = 10 × $2,000 = $20,000

    • P = 10 × $2,200 = $22,000

    • f₊ = $100, f₋ = $0

    This health factor of 2.86 indicates a well-collateralized position with significant safety margin before liquidation.

    Open Interest Caps

    Open Interest and Skew caps are risk management mechanisms that set maximum limits on total position sizes and market imbalances to protect liquidity providers from excessive directional exposure.

    Open Interest and Skew caps are essential risk management tools that limit the vault's exposure to directional market movements and prevent excessive concentration in any single direction. These caps protect liquidity providers from taking on too much counterparty risk while ensuring the protocol maintains balanced and sustainable market conditions. By implementing both absolute position limits and relative skew constraints, the system creates multiple layers of protection against market manipulation and extreme exposure scenarios.

    Open Interest Caps

    Open Interest (OI) caps set maximum limits on the total notional value of positions that can be held on each side of the market. These caps are denominated in USD to provide consistent risk limits regardless of the underlying asset's price fluctuations.

    Each market enforces separate caps for long and short positions. The total dollar value of all long positions cannot exceed the maximum OI limit, and the same applies to short positions. These constraints are only checked when traders attempt to increase their position size, meaning existing positions can be closed regardless of the current OI levels.

    Skew Caps

    Skew caps limit the maximum net imbalance between long and short positions, preventing the vault from taking on excessive directional exposure. The skew represents the difference between total long and short open interest and can be either positive (more longs) or negative (more shorts).

    The protocol enforces a maximum absolute skew limit, measured in USD terms. This means the net difference between long and short positions cannot exceed a predetermined threshold in either direction.

    The skew cap operates as a "soft" limit with the following rules:

    • Skew Expansion: When the current skew is at maximum, traders cannot open position that expand the skew.

    • Skew Reduction: Positions that help balance the market are always permitted.

    • Position Closure: Users and liquidators can always close positions regardless of skew constraints.

    Exceeding OI Limits

    In certain situations, the current open interest may exceed the maximum OI limits due to:

    1. Price Appreciation: As the underlying asset price increases, the dollar value of existing positions grows, potentially pushing total OI above the limit.

    2. Governance Changes: When governance reduces the MaxOI risk parameter, existing positions may suddenly exceed the new lower limit.

    When this occurs, the protocol activates an auto-deleveraging mechanism to reduce vault risk exposure. The system automatically closes the most profitable positions first, continuing until the open interest returns to acceptable levels.

    Position Modification Constraints

    When traders modify their positions, the system validates that the resulting market state remains within all caps. Constraints only apply when traders are increasing their position size in a given direction.

    Risk Management Benefit

    The combined OI and skew caps provide comprehensive risk management:

    1. Absolute Exposure Limits: OI caps prevent the vault from taking on unlimited positions in any direction

    2. Directional Risk Control: Skew caps limit net exposure to price movements

    3. Market Stability: Caps prevent extreme imbalances that could destabilize the market

    4. LP Protection: Liquidity providers face bounded counterparty risk

    These caps work alongside the funding rate and market impact mechanisms to create a multi-layered risk management system that maintains market balance while protecting all participants from excessive exposure.

    Address Provider

    The Address Provider Contract provides the addresses of all most recent and currently used contracts of the Mars Protocol's set of Smart Contracts.

    Deployments

    Neutron: neutron17yehp4x7n79zq9dlw4g7xmnrvwdjjj2yecq26844sg8yu74knlxqfx5vqv

    Osmosis: osmo1g677w7mfvn78eeudzwylxzlyz69fsgumqrscj6tekhdvs8fye3asufmvxr


    Types

    The types of the Address Provider Contract can be found .

    For reference on the Queries and Methods:


    Queries

    address

    Provides the address of a certain contract type.

    addresses

    Provides an array of addresses for provided contract types.

    all_addresses

    Returns all stored addresses with pagination.

    config

    Returns the contracts config.

    Oracle

    The Oracle Contract returns the price data for the entire Money Market and the Perps Platform. It utilizes multiple price sources, ranging from external oracles like Pyth or Slinky, to TWAP and Spot.

    Deployments

    Neutron:

    Osmosis:


    Maximum Leverage & LTVs

    This section details how maximum leverage and LTVs are calculated using extreme-loss methodology to ensure adequate margin coverage against potential losses.

    Parameter Calibration Rationale

    Initial margin should adequately cover potential extreme losses for a perp position within a defined risk horizon (liquidation horizon). This provides a suitable buffer against significant potential price fluctuations between the liquidation and bankruptcy levels in the probabilistic sense ensuring coverage in most historical scenarios.

    Calculation

    To set initial margin requirements and maximum leverage for each market we use the well-known extreme-loss approach widely used in traditional finance. The fundamental principle of this approach is:

    The extreme potential loss in the position value is primarily represented by the unrealized price PnL on the leveraged perp position, which is calculated as follows:

    MARS Staking

    Learn how to stake your MARS tokens on the Mars Protocol Frontend to gain governance power and unlock trading fee discounts through the 8-tier staking system.

    Staking MARS allows you to participate in protocol governance and unlock trading fee discounts through the MARS staking tiers system.

    You need to have MARS in your wallet on the Neutron network in order to stake. Once staked, your tokens are locked in the protocol and no longer directly available in your wallet until you unstake them.


    How to Stake MARS

    The Mars Brand

    The Mars Protocol branding policy is intended to empower you, the community, to get creative with Mars and its branding.

    All Mars Protocol assets are available under a Creative Commons Attribution-ShareAlike 4.0 International License. Check out all the details below, or dive into our and now. Together, we’ll build the galaxy’s most powerful credit protocol.

    Mars Brand Policy

    The Mars name, marks, dress, logos and brand, including the name “Mars”, were created through collaboration between Delphi Labs, Terraform Labs, and We3. A complete set of such intellectual property created by this unincorporated joint venture is available at the (collectively, the “Mars Designs”).

    Brand kit

    Mars Protocol Brand Assets and Backgrounds.

    Logo

    Mars Text Logo

    Download

    Governance

    The Mars Protocol follows a strict Governance process.

    The Mars Protocol governance process enables the community to propose, discuss, and implement changes in a structured and transparent manner. It consists of two to three stages, depending on the type of proposal

    Step 1: Proposal Draft on Forum

    Anyone—including Mars Protocol contributors - must start by posting a proposal draft on the

    Health

    The Health Contract calculates the health factor of user positions. It is used to enable and disable the liquidation by the Credit Manager.

    Deployments

    Neutron:

    Osmosis:


    Updated 05-14-2025
    457,414,004.967801 MARS
    Updated 05-14-2025
    263,219,526.48725396 MARS

    Establishes LTVs, liquidation thresholds, and caps

    Manipulation Resistance: Large coordinated attempts to create extreme positions are blocked

  • Total Withdrawal Value – Combined value of all pending withdrawals

  • Vault Balance – How much of the deposit asset is available

  • Accrued PnL – Profit/loss since the last performance fee withdrawal

    Updates only on user interactions (e.g., deposits/withdrawals)

  • Queued Withdrawals vs. Vault Balance – Shows how much has been requested for withdrawal vs. how much of the deposit asset is available.

    If there's a shortfall, the system will automatically borrow the asset from the Red Bank to fulfill the withdrawals. It's your responsibility to monitor this and prepare accordingly.

  • 2. Queued Withdrawals

    A list of all pending withdrawal requests submitted by users.

    3. My Withdrawals

    Shows only your personal pending withdrawals (if you’ve deposited into your own vault).

    Note: Once the withdrawal timeout expires, a Withdraw button will be enabled. If you have multiple unlocked positions, clicking this button will withdraw all of them at once into your wallet — with just a single transaction to sign.

    Protects against sudden liquidity withdrawals that could compromise systemic integrity

    Important Note: During the 10-day lock-up period, your funds remain fully exposed to changes in vault share value (i.e., trading performance). While you continue to earn APY during this period, the underlying value may fluctuate based on vault activity. This is not a fixed yield mechanism—APR accrues, but the vault’s performance can impact your actual return.

    Role

    Acts as counterparty to all Perp trades

    Settlement Asset

    USDC

    Positive PnL

    Paid from vault to user's Credit Account

    Negative PnL

    Collected from user or borrowed from Red Bank

    Deposit Lock-Up

    10-day period

    Fee Revenue

    Receives share of 0.075% trading fee per trade

    Lending & Borrowing
    Create & Fund
    Asset selector modal

    P0P_0P0​: The notional value of the position when it was opened, calculated as |q| × p_{ex,0}

  • PPP: The current notional value of the position, calculated as |q| × p_{ex}

  • f_{$}^{+}: Positive funding payments owed to the position holder (added to assets)

  • f_{$}^{-} : Negative funding payments owed by the position holder (added to liabilities)

  • Current ETH price: $2,200
  • Perpetual LTV: 90%

  • Closing fee: 0.075%

  • Accumulated funding: +$100 (positive, owed to trader)

  • HF=RWA+P0+f$+×LTVpD+P×(2−LTVp+ϕc)+f$−HF = \frac{RWA + P_0 + f_{\$}^+ \times LTV_p}{D + P \times (2 - LTV_p + \phi_c) + f_{\$}^-}HF=D+P×(2−LTVp​+ϕc​)+f$−​RWA+P0​+f$+​×LTVp​​
    RWARWARWA
    DDD
    LTVpLTV_pLTVp​
    ϕc\phi_cϕc​
    HF=66,000+22,000×(0.90−0.00075)+100×0.9010,000+20,000+0=2.86HF = \frac{66,000 + 22,000 \times (0.90 - 0.00075) + 100 \times 0.90}{10,000 + 20,000 + 0}=2.86HF=10,000+20,000+066,000+22,000×(0.90−0.00075)+100×0.90​=2.86
    (0.005%+0.0055%)÷2=0.00525%(0.005 \% + 0.0055 \%) \div 2 = 0.00525 \%(0.005%+0.0055%)÷2=0.00525%
    $2,000 \times (1 + 0.0000525) = $2,000.105
    (0.005%+0.0045%)÷2=0.00475%(0.005 \% + 0.0045 \%) \div 2 = 0.00475 \%(0.005%+0.0045%)÷2=0.00475%
    $2,000 \times (1 + 0.0000475) = $2,000.095
    skewScale=Depths%2⋅s%​​skewScale= \frac{Depth_{s\%}}{2⋅s\%}​​skewScale=2⋅s%Depths%​​​​
    Depths%​=min(Depth+s%​,Depth−s%​)Depth_{s\%​}=min(Depth_{+s\%}​,Depth_{−s\%​})Depths%​​=min(Depth+s%​​,Depth−s%​​)
    Depth±s%Depth_{\pm s\%}Depth±s%​

    Depth_{\pm 2\%, $}Depth±s%Depth_{\pm s\%}Depth±s%​

    ±2%\pm 2\%±2% aggregated global market depth across leading exchanges and trading pairs

    Coingecko

    90-day median

    Transform to tokens

    rt=rt−1+velocity⋅skewmaxSkew⋅Δtr_{t} = r_{t-1} + velocity \cdot \frac{skew}{maxSkew} \cdot \Delta trt​=rt−1​+velocity⋅maxSkewskew​⋅Δt
    rt=rt−1+velocity⋅skewScalemaxSkew⋅skewskewScale⋅Δtr_{t} = r_{t-1} + velocity \cdot \frac{skewScale}{maxSkew} \cdot \frac{skew}{skewScale} \cdot \Delta trt​=rt−1​+velocity⋅maxSkewskewScale​⋅skewScaleskew​⋅Δt
    maxFundingVelocity:=velocity⋅skewScalemaxSkew​maxFundingVelocity := velocity \cdot \frac{skewScale}{maxSkew}​maxFundingVelocity:=velocity⋅maxSkewskewScale​​
    rt=rt−1+maxFundingVelocity⋅skewskewScale⋅Δtr_{t} = r_{t-1} + maxFundingVelocity \cdot \frac{skew}{skewScale} \cdot \Delta trt​=rt−1​+maxFundingVelocity⋅skewScaleskew​⋅Δt
    pex=por⋅(1+KskewScale+q2⋅skewScale)p_{ex} = p_{or} \cdot \left( 1 + \frac{K}{skewScale} + \frac{q}{2 \cdot skewScale} \right)pex​=por​⋅(1+skewScaleK​+2⋅skewScaleq​)
    pexp_{ex}pex​
    porp_{or}por​
    qqq
    KKK
    skewScale>0skewScale > 0skewScale>0
    KKK
    qqq
    Slippage=q2⋅skewScaleSlippage = \frac{q}{2 \cdot skewScale}Slippage=2⋅skewScaleq​
    SlippageSlippageSlippage
    q>0q > 0q>0
    skewScaleskewScaleskewScale
    skewScale=q2⋅SlippageskewScale = \frac{q}{2 \cdot Slippage}skewScale=2⋅Slippageq​
    q = Depth_{+s%}
    ss%s
    skewScaleL=Depth+s%2⋅s%skewScale_L = \frac{Depth_{+s\%}}{2 \cdot s\%}skewScaleL​=2⋅s%Depth+s%​​
    q = -Depth_{-s%}
    −s-s%−s
    skewScaleS=Depth−s%2⋅s%skewScale_S = \frac{Depth_{-s\%}}{2 \cdot s\%}skewScaleS​=2⋅s%Depth−s%​​
    skewScale=min⁡(skewScaleL,skewScaleS)=Depths%2⋅s%skewScale = \min(skewScale_L, skewScale_S) = \frac{Depth_{s\%}}{2 \cdot s\%}skewScale=min(skewScaleL​,skewScaleS​)=2⋅s%Depths%​​
    Depths%=min⁡(Depth+s%,Depth−s%)Depth_{s\%} = \min(Depth_{+s\%}, Depth_{-s\%})Depths%​=min(Depth+s%​,Depth−s%​)
    here
    Types

    The types of the Oracle Contract can be found here.

    For reference on the Queries and Methods:


    Queries

    config

    Returns the Contracts configuration.

    price

    price_source

    price_sources

    prices

    prices_by_denoms


    Methods

    Only the owner of the contract can call its methods. That's why they are not part of the documentation.


    Circuit Breakers

    Instead of naively absorbing the feeds received from Pyth, Mars v2 implements two new circuit breakers intended to mitigate potential price manipulation attacks. These circuit breakers will activate whenever the volatility of a certain feed is extremely high or there’s too much uncertainty over the real level of a certain price. Whenever any of these filters triggers, the transaction will be invalidated*. The circuit breakers are the following:

    • Exponential Moving Average (EMA): In addition to the spot price, Pyth offers an Exponential Moving Average (EMA) with each price feed. The EMA is a single price that aggregates the spot price and historical prices for a certain asset, where “the most recent samples receive the most weight, and samples further back in time get exponentially less weight the farther in the past they are.” Given this characteristic, the EMA is significantly more resistant to manipulation than the spot price. This is the reason we incorporate the EMA as a circuit breaker. The way we incorporate it is as follows:

      • First, we set some bounds above and below the EMA (i.e. Upper Bound = EMA + 15%; Lower Bound = EMA - 15%).

      • Then we check whether the spot price is within those bounds.

      • If it is, the transaction is valid.

      • If it isn’t, the transaction is invalidated.

    • Confidence Interval (CI): Pyth offers a CI with each feed that informs on the level of certainty that the publishers of that feed have on the reported price. All else equal, the larger the CI, the lower the certainty of publishers on the real spot price of the asset. As such, the rationale for incorporating this circuit breaker is obvious. The way it’s implemented is as follows:

      • If the ratio between the CI and the EMA is above a certain threshold, the transaction is invalidated.

    Both the magnitude of the EMA bounds and the Confidence Interval threshold are governance defined parameters.

    Note that there are some exceptions on what transactions are invalidated by circuit breakers triggering. These exceptions are: liquidation, deposit and repay transactions. The reason for the exceptions is that we want to always guarantee liveness for these transactions. For liquidations because solvency of the system is a paramount concern and circuit breakers could lead to halting liquidations. For deposit and repay transactions because we want to allow users to always be able to save their positions from liquidation, even when certain circuit breakers are activated. There’s one final exception, and it’s for withdraw transactions from accounts with no debt.

    These circuit breakers trade off liveness for security. For a lending protocol, we believe this is a worthwhile tradeoff. However, users should be aware that when these new circuit breakers are triggered they won’t be able to interact with the protocol (including borrows, withdrawals and so on). This could lead to temporary or permanent loss of funds or value, including the inability to sell assets while prices or market conditions are deteriorating. While we don’t expect this to happen often, it is definitely a possibility.

    Additionally, as with the new liquidations mechanism, these new circuit breakers might lead to unforeseen issues at both the mechanism and smart contract levels.

    neutron1dwp6m7pdrz6rnhdyrx5ha0acsduydqcpzkylvfgspsz60pj2agxqaqrr7g
    osmo1mhznfr60vjdp2gejhyv2gax9nvyyzhd3z0qcwseyetkfustjauzqycsy2g
    Types

    The types of the Health Contract can be found here.


    Queries

    config

    Returns the contracts configuration.

    health_state

    health_values

    neutron17ktfwsr7ghlxzzma0gw0hke3j3rnssd58q87jv2wzfrk6uhawa3sv8xxtm
    osmo1pdc49qlyhpkzx4j24uuw97kk6hv7e9xvrdjlww8qj6al53gmu49sge4g79
    Base Types
    type MarsAddressType =
      | 'incentives' 
      | 'oracle' 
      | 'red_bank' 
      | 'rewards_collector' 
      | 'params' 
      | 'credit_manager'
      | 'protocol_admin'
      | 'fee_collector'
      | 'safety_fund'
      | 'swapper'
      | 'astroport_incentives'
      | 'perps'
      | 'revenue_share'
    Query message
    {
        address: MarsAddressType
    }
    Return output
    {
        data: {
            address: string
            address_type: MarsAddressType
        }
    }
    Query message
    {
        addresses: MarsAddressType[]
    }
    Return output
    {
        data: [
            {
                address: string
                address_type: MarsAddressType
            },
            ...
        ]
    }
    Query message
    {
        all_addresses: {}
    }
    Return output
    {
        data: [
            {
                address: string
                address_type: MarsAddressType
            },
            ...
        ]
    }
    Query message
    {
        config: {}
    }
    Return output
    {
        data: {
            owner?: string | null
            prefix: string
            proposed_new_owner?: string | null
        }
    }
    Base Types
    type Decimal = string
    Query message
    {
        config: {}    
    }
    Return output
    {
        data: {
            base_denom: string
            owner: string | null
            proposed_new_owner: string | null
        }
    }
    Query message
    {
        price: {
            denom: string
            kind?: 'default' | 'liquidation' | null
        }  
    }
    Return output
    {
        data: {
            denom: string
            price: Decimal
        }
    }
    Query message
    {
        price_source: {
            denom: string
        }
    }
    Return output
    {
        data: {
            denom: string
            price_source: string
        }
    }
    Query message
    {
        price_sources: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: [
            {
                denom: string
                price_source: string
            },
            ...
        ]   
    }
    Query message
    {
        prices: {
            kind?: 'default' | 'liquidation' | null
            limit?: number | null
            start_after?: string | null
        } 
    }
    Return output
    {
        data: {
            
        }
    }
    Query message
    {
        prices_by_denoms: {
            denoms: string[]
            kind?: 'default' | 'liquidation' | null
        }
    }
    Return output
    {
        data: [
            {
                denom: string
                price: Decimal    
            },
            ...
        ]
    }
    Query message
    {
        config: {}
    }
    Return output
    {
        data: {
            credit_manager: string | null
            owner_response: {
                abolished: boolean
                emergency_owner: string | null
                initialized: boolean
                owner: string | null
                proposed: string | null
            }
        }
    }
    Query message
    {
        health_state: {
            account_id: string
            action: ActionKind
        }
    }
    Return output
    {
        data: 'healthy' | {
            unhealthy: {
                max_ltv_health_factor: Decimal
            }
        }
    }
    Query message
    {
        health_values: {
            account_id: string
            action: ActionKind
        }
    }
    Return output
    {
        data: {
            above_max_ltv: boolean
            has_perps: boolean
            liquidatable: boolean
            liquidation_health_factor?: Decimal | null
            liquidation_threshold_adjusted_collateral: Uint128
            max_ltv_adjusted_collateral: Uint128
            max_ltv_health_factor?: Decimal | null
            perps_pnl_loss: Uint128
            perps_pnl_profit: Uint128
            total_collateral_value: Uint128
            total_debt_value: Uint128
        }
    }

    Collateral

    Funds in Credit Account

    All whitelisted assets in the Credit Account

    Feature

    Spot Trading

    Margin Trading

    Execution

    Swap at market price

    One-click margin execution

    Risk

    None (self-funded)

    Subject to liquidation

    Use Case

    Simple asset exchange

    Amplified exposure via borrowed funds

    • Click “Add to Chrome” (or equivalent) and confirm any prompts.

  • Verify Installation

    • You should see the wallet’s icon in your browser’s extensions area.

  • (via Recovery Phrase or Google account)
  • Import an existing wallet (via Recovery Phrase, Private Key, or Google account)

  • Connect a hardware wallet (Ledger or Keystone)

  • Select “Create New Wallet”

    • Choose Create new wallet, then Create new recovery phrase to generate a brand-new Secret Recovery Phrase.

  • every word in order on paper or another secure offline medium.
  • Do NOT share this phrase—anyone with it can access your funds.

  • Confirm the Phrase

    • Click Next, then re-enter or re-select the words in the correct order to verify your backup.

  • Leap
    Cosmostation
    Ctrl
    MetaMask
    Chrome Web Store
    Connect your wallet
    Connect your wallet

    where qqq is the position size (positive for longs and negative for shorts), p0p_{0}p0​ is the entry price of the underlying asset, p=(1+r)⋅p0p = (1 + r) \cdot p_{0}p=(1+r)⋅p0​ is the market price at the current time, and rrr is the percentage price change over the risk horizon hhh.

    Note. Here we do not account for other potential risk factors like funding fees or the price impact, though these could influence unrealized PnL. The conservative 12-hour window is intended to capture significant price fluctuations, which should also encompass the effects of volatility in other risk factors.

    To determine potential extreme losses from unfavorable price movements, the CVaR risk metric is used with a risk horizon hhh. The horizon represents the period during which a position should be liquidated. Even if the position isn't immediately liquidated when the margin reaches the liquidation level, a buffer remains. This buffer ensures that extreme price changes during this period are unlikely to result in bankruptcy. We conservatively set the risk horizon to 12 hours to account for potential chain halts that could interrupt liquidations. Note that liquidations typically occur much faster (especially for USDC-margined accounts).

    The extreme potential price movements are determined as follows:

    for longs: RL=CVaRr(1%,h)R_{L} = CVaR_{r}(1\%, h)RL​=CVaRr​(1%,h)

    for shorts: RS=CVaRr(99%,h)R_{S} = CVaR_{r}(99\%, h)RS​=CVaRr​(99%,h)

    Assuming equal leverage for long and short positions, the maximum is taken for a conservative approach:

    We calculate the CVaR metric for each market using a historical simulation approach based on 1 year of historical data of 12-hour simple overlapping price returns.

    The % initial margin in then determined as follows:

    Maintenance margin is calculated similarly, but using less conservative CVaR levels (5% and 95%):

    Max Leverage

    Maximum Leverage is calculated as the reciprocal of the initial margin:

    Max Leverage Caps

    For each asset, we first apply our main Mars Risk Framework to determine its quality category depending on the volatility and liquidity. The following maximum leverage caps are then applied based on the asset quality:

    Quality Category
    MaxLeverageCap

    Very Good

    10

    Good

    7

    Medium

    5

    Bad

    3

    The final maximum leverage is then determined as follows:

    The risk parameters for a single perp position used in the Health Factor (HF) calculation are determined as follows:

    Max LTV

    Liquidation LTV

    where SMSMSM is a margin of safety determned as follows:

    Input Data

    Data Item
    Description
    Source
    Period/Frequency
    Processing

    Historical oracle price of the underlying asset

    Coingecko

    1h over the past 365 days

    -

    Key Parameters

    • Risk horizon: h=12hh = 12hh=12h

    • Confidence level: for initial margin α=1\alpha = 1%α=1, for maintenance margin α=3\alpha = 3%α=3

    • Safety Margin Bounds: SMmin⁡=2SM_{\min} = 2SMmin​=2, SMmax⁡=5SM_{\max} = 5SMmax​=5

    Key Assumptions

    • Funding rates and price impact are ignored.

    • The 12h risk horizon is assumed.

    Special Cases

    For brand-new assets and assets with limited data history (less than 30 days), the maximum leverage is set to the maximum leverage cap for the "bad" quality category:

    MaxL=3MaxL = 3MaxL=3

    The following risk parameters are finally used:

    MaxLTV=66MaxLTV = 66%MaxLTV=66

    LiqLTV=70LiqLTV = 70%LiqLTV=70

    %InitialMargin≥%ExtremePotentialLosses\% InitialMargin \geq \% ExtremePotentialLosses%InitialMargin≥%ExtremePotentialLosses
    UPnL=q⋅(p−p0)=q⋅p0⋅rUPnL = q \cdot (p - p_{0}) = q \cdot p_{0} \cdot rUPnL=q⋅(p−p0​)=q⋅p0​⋅r
    R=max⁡(∣RL∣,∣RS∣)R = \max(|R_{L}|, |R_{S}|)R=max(∣RL​∣,∣RS​∣)
    %InitialMargin=R\% InitialMargin = R%InitialMargin=R
    %MaintenanceMargin=Rm\% MaintenanceMargin = R_{m}%MaintenanceMargin=Rm​
    MaxLeverageModel=1%InitialMargin=11−MaxLTVMaxLeverageModel = \frac{1}{\% InitialMargin} = \frac{1}{1 - MaxLTV}MaxLeverageModel=%InitialMargin1​=1−MaxLTV1​
    MaxL=min⁡(MaxLeverageModel,MaxLeverageCap)MaxL = \min(MaxLeverageModel, MaxLeverageCap)MaxL=min(MaxLeverageModel,MaxLeverageCap)
    MaxLTV=round((1−1MaxL)⋅100,0)MaxLTV = \text{round}((1 - \frac{1}{MaxL}) \cdot 100, 0)MaxLTV=round((1−MaxL1​)⋅100,0)
    LiqLTV=MaxLTV+SMLiqLTV = MaxLTV + SMLiqLTV=MaxLTV+SM
    modelSM=round((InitialMargin−MaintenanceMargin)⋅100,0)modelSM = \text{round}((InitialMargin - MaintenanceMargin) \cdot 100, 0)modelSM=round((InitialMargin−MaintenanceMargin)⋅100,0)
    SM=clamp(modelSM,SMmax⁡,SMmin⁡)SM = \text{clamp}(modelSM, SM_{\max}, SM_{\min})SM=clamp(modelSM,SMmax​,SMmin​)
    Go to the Mars Protocol frontend: app.marsprotocol.io/portfolio
  • Navigate to the MARS Staking section within the Portfolio page.

  • Click Manage your MARS stake.

  • A pop-up interface will appear, where you can:

    • Stake: Select how much MARS to stake using the slider or input field.

    • Unstake: Select how much MARS to unstake.

  • Click Stake MARS or Unstake MARS, then confirm the transaction in your wallet.

  • Unstaking period: It takes 1 day after initiating an unstake before you can withdraw tokens. During this time:

    • You will not receive trading fee discounts & voting power for the unstaking tokens.

    • You cannot cancel the unstaking process.


    MARS Staking Tiers

    By staking MARS, you qualify for trading fee discounts (spot and perpetuals) based on your staked amount. The tiers are designed around real holder distributions, ensuring both fair access and meaningful rewards for larger commitments.

    Tier
    MARS Staked
    Trading Fee Discount

    Tier 1

    < 10,000

    0%

    Tier 2

    10,000+

    10%

    Tier 3

    50,000+

    20%

    Tier 4

    100,000+

    Important Note: You can start staking MARS today to secure your tier, and be ready when trading fee discounts launch in October.


    Utility of Staking

    • Governance: Gain voting power on community and contributor proposals.

    • Fee Discounts: Unlock reduced trading fees across spot and perpetuals.

    • Protocol Alignment: Support the ecosystem through long-term commitment.


    The Mars Designs are not trademarks or service marks and are not intended to identify the source of any goods or services. They constitute part of the ownerless, decentralized Mars commons, which is governed through a combination of rough social consensus and the on-chain governance processes of the Martian Council.

    Accordingly, to whatever extent the Joint Venture possesses intellectual property rights in the Mars Designs, the Joint Venture hereby licenses all such rights to the public under the Creative Commons Attribution-ShareAlike 4.0 International License (the “License”) Among other things, the License entails that you may, subject to the conditions set forth in the License:

    • reproduce and “Share” (as defined in the License) the Mars Designs, in whole or in part; and

    • produce, reproduce and Share any Adapted Material (as defined in the License, which includes material that is derived from or based on the Mars Designs).

    The License conditions include:

    • attributing the Mars Designs and any Adapted Material to the Joint Venture and the creators of the Adapted Material; and

    • adding the Creative Commons Attribution-ShareAlike 4.0 International License to any Adapted Material (which means that the Adapted Work will be licensed to the public on the same terms as the Mars Designs).

    Attribution should be made to “the Mars Protocol Joint Venture (https://marsprotocol.io/)”.

    Note: The “Mars geodesic sphere” logo is a modification of the “geodesic sphere” icon by Lluisa Iborra. The Mars Protocol Joint Venture purchased a license to the un-modified icon from https://thenounproject.com/. In order to use or copy the Mars geodesic sphere logo, you have two alternative options:

    1. You may rely on Ms. Iborra’s free Creative Commons license to the geodesic sphere icon, but only if you provide attribution as follows:

    • attribution is required if the logo is larger than 100px

    • attribution must be included in a bibliography or caption or on an item or tag, as applicable

    • attribution must read “Mars Geodesic Sphere by the Mars Protocol Joint Venture (https://marsprotocol.io/), based on Geodesic Sphere by Lluisa Iborra from NounProject.com”; or

    1. You may purchase your own license from Ms. Iborra at https://thenounproject.com/ (attribution to the Mars Joint Venture is still required, but attribution to Ms. Iborra is not).

    The foregoing is only a partial summary of the License. In the event of any conflict or inconsistency between the summary and the License, the License shall govern, control and prevail.

    brand book
    graphics files
    ​
    Mars Design Kit here
  • SVG

  • PNG


  • Mars Logo Detailed

    Mars Logo Detailed

    Download

    • SVG

    • PNG


    Mars Grid Logo Detailed

    Mars Grid Logo Detailed

    Download

    • SVG

    • PNG


    Mars Logo Simplified

    Mars Logo Simplified

    Download

    • SVG

    • PNG


    Grid Logo Simplified

    Grid Logo Simplified

    Download

    • SVG

    • PNG


    Wallpapers

    Mars

    Download

    • 1920x1080

    • 3600x1600

    Mars Clean


    Download

    • 1920x1080

    • 3600x1600


    Grid

    Download

    • 1920x1080

    • 3600x1600


    Grid Clean

    Download

    • 1920x1080

    • 3600x1600

    Mars Text Logo
    Purpose:
    Open community discussion and feedback.
  • Duration: Must remain open for at least 3 days.

  • Requirement: A proposal (Mars Request for Comment [MRC]) can only move forward if there is clear consensus on its feasibility and rationale.

  • Step 2: On-Chain Voting via DAO DAO

    Once a forum draft achieves consensus, it can be submitted on-chain through the Mars Protocol DAO DAO Governance Interface.

    • Voting Period: 3 days.

    • Eligibility: Only users who staked MARS tokens prior to proposal creation are eligible to vote.

    • Voting Options:

      • Yes

      • No

      • Abstain

    On Neutron, the majority of proposals include executable messages, meaning actions are carried out automatically once the proposal passes. The rest are signaling proposals that require manual follow-up.

    On Osmosis, by contrast, all proposals are signaling-only, so every action must be manually executed after the vote passes.

    Step 3 (Optional): Builders Multisig Execution

    Some proposals, especially those involving smart contract changes, require manual execution by the Mars Protocol Builders Multisig.

    • Structure: 5 Mars contributors with a 3-of-5 multisig.

    • Responsibility: Executing post-vote actions, such as:

      • Adjusting smart contract parameters

      • Broadcasting specific transactions

    The Builders Multisig can only initiate the necessary on-chain actions, when a proposal has passed governance via DAO DAO.

    Risk Management DAO

    Mars Protocol also includes a Risk Management DAO, which has special authority to update asset and perpetual market configurations without going through the full governance process.

    Exceptions apply:

    • Liquidation thresholds

    • New asset or perps listings

    Summary

    Stage
    Platform
    Duration
    Who Participates

    Step 1

    ≥ 3 days

    Community & Contributors

    Step 2

    3 days

    Staked Holders

    Step 3*

    Builders Multisig

    N/A

    *Optional step, only for proposals requiring manual execution.

    Mars Protocol Forum
    Mars App
    Create Vault Page
    My Vaults Table
    Click on the View on Mintscan button to open your wallet in the Block Explorer
    Find a transaction like this and click on it.
    The instantiation details are located at the very bottom of the Transaction details
    Click on the copy icon on the right side of the value
    Click on Continue Setup
    Copy the vault address into the input field

    Leveraged Yield Farming

    Mars Protocol enables users to participate in leveraged yield farming by integrating with Astroport AMM Liquidity Pools.

    This powerful strategy allows users to deploy capital more efficiently by using LP tokens as collateral, amplifying exposure to yield opportunities through leverage.

    Core Concept

    Liquidity provision is foundational to DeFi. When users supply liquidity to a pool on Astroport, they receive LP tokens, which represent their share of the pool. These tokens accrue trading fees and are often incentivized through emissions programs and third-party rewards.

    To enhance capital efficiency, Mars Protocol has whitelisted Astroport LP tokens as valid collateral within its Credit Accounts. Users can use these tokens to:

    • Borrow assets to enter LP positions

    • Leverage existing positions for higher yield

    • Optimize collateral deployment across the broader Mars ecosystem


    How Leveraged Yield Farming Works

    Users can employ various strategies to join Astroport liquidity pools with leverage:

    1. Borrow the underlying LP assets (e.g., USDC and NTRN) directly

    2. Borrow a different asset (e.g., WETH.axl) and use Astroport’s mechanisms to enter the pool via single-sided liquidity provisioning

    The borrowed capital is automatically swapped (if needed) and used to provide liquidity, increasing the user's exposure to LP rewards while maintaining a single, consolidated Credit Account.

    Thanks to Mars’ cross-collateralized architecture, users are not restricted to matching the pool’s native asset pair. This flexibility significantly reduces borrow costs, simplifies transactions, and increases access to yield farming strategies.


    Astroport Integration on Neutron

    Mars Protocol’s leveraged yield farming is currently live on Neutron through its integration with Astroport. This integration offers several key advantages:

    Key Benefits:

    • Custom Ratio Provisioning: Unlike traditional AMMs (e.g., Apollo Vaults on Osmosis), Astroport allows asymmetric liquidity deposits, meaning users can supply liquidity in any asset ratio—or even single-sided.

    • Reduced Transaction Overhead: No additional swap transaction is needed when supplying in a custom ratio. This results in lower gas costs and improved capital efficiency.

    • Protocol Incentives: Astroport supports LP incentives through:


    Strategy Examples

    1. Borrowing Underlying LP Assets

    A user borrows USDC and NTRN to enter the USDC-NTRN LP pool:

    • Borrow Rates:

      • USDC: 6.71%

      • NTRN: 2.45%

    • LP APY: 19.23%

    By borrowing both LP assets, the user fully leverages the LP position and captures enhanced yield through the pool’s incentives.


    2. Borrow Rate Optimization Strategy

    Instead of borrowing the native LP assets, the user borrows wstETH, which has a lower borrow rate of 0.57%. Upon entering the LP:

    • The borrowed wstETH is automatically swapped into one of the LP assets.

    • Single-sided liquidity provisioning is used to minimize transaction complexity and gas usage.

    • LP APY: 19.23%

    • Initial Account APY: -2.20%

    This strategy improves yield performance over the previous example by optimizing for the lowest borrow rate, demonstrating the flexibility and capital efficiency enabled by Mars Protocol’s integration with Astroport.


    Summary

    Feature
    Description

    Leveraged Yield Farming on Mars Protocol combines the power of on-chain leverage with efficient liquidity provisioning and incentive farming. By integrating directly with Astroport, Mars offers a seamless and flexible path to optimized yield strategies - backed by a robust risk and collateral model.

    If LP asset pairs are highly correlated, they may also qualify for High Leverage Strategies (HLS), enabling even greater capital efficiency.


    Tutorials

    Deposit Caps Risk Framework

    A simplified framework for rapidly estimating deposit caps in money markets using liquidation modeling and on-chain liquidity analysis.

    This methodology provides a streamlined approach to estimate deposit caps for money markets between the main RF runs [Deposit Cap Methodology]. Due to the time-intensive process required by the full framework, this simplified version enables rapid cap evaluation and monitoring at interim points.

    Notations

    • β\beta%β is the minimum liquidation bonus

    • is the on-chain depth (available liquidity with slippage )

    • is the optimal utilization threshold (80% is used for all assets for simplicity)

    • is the liquidated portion of the debt

    • are the liquidated funds

    • is the total on-chain liquidity

    • is the recovery time for DEX liquidity to get restored after massive liquidation

    Model Deposit Cap

    Consider an arbitrary liquidation of size . Suppose it takes minutes for the DEX liquidity ( depth) to get restored.

    In this case, a liquidation will be composed of iterations, where each iteration will take minutes, and will execute -th of the liquidation. In total time units will elapse before the liquidation is fully executed.

    Hence, the liquidation period can be estimated as follows:

    Let is a known liquidation period. If the debt is not liquidated over this period, it goes bankrupt. To estimate Loan-to-Value (LTV) risk parameters, we assume a minimum one-day liquidation period. In 99% of cases, even extreme price changes within this period should not result in bankruptcy. Therefore, the deposit cap can be set at an amount that can be liquidated within this timeframe ().

    From this equation, we can find the maximum amount that can be liquidated within a duration of assuming a periodic recovery occurs every hours:

    Estimation of liquidatable amount :

    If of all borrowed funds are liquidated, the corresponding amount of collateral liquidated will be:

    where is the liquidation bonus.

    The deposit cap can be determined by solving the following equation:

    From which we have the model deposit cap:

    Expert Based Cap

    The model cap is limited by an expert-based cap, which is set at 150% of the total on-chain liquidity:

    For new markets the cap is set at 30% of the total on-chain liquidity.

    Key Model Assumptions

    • Linear recovery of on-chain liquidity after liquidation

    • No market impact of liquidations on the price (liquidation cascade is not modelled)

    • Deposit caps are determined independently for each market, disregarding combined effects

    These simplifying assumptions are offset by using conservative parameters for the recovery period and liquidatable portion, alongside expert-derived caps.

    Key Model Parameters

    The key model parameters are:

    • is the liquidated portion of the debt

    • is the recovery time for DEX liquidity to get restored

    Historical data should be used to estimate both parameters.

    The liquidatable portion, determined by the account's simulation algorithm, is conservatively set at 30% for all assets in this simplified risk framework. Simulations indicate that this percentage typically ranges from 5% to 25%.

    Estimating the liquidity recovery period following significant liquidations is challenging due to the difficulty in acquiring data on extreme on-chain liquidation events. However, observed arbitrage activity typically restores liquidity within minutes.

    We conservatively consider three parameters:

    • Base - 6h

    • Optimistic - 2h

    • Pessimistic - 12h

    Numerical Example

    • is the total on-chain liquidity

    For xyk-type pool, the 5% depth is determined as follows:

    Then

    For PCL-type pool, we can apply adjustment of ~1.5x to increase the depth:

    Then

    The expert cap is set to 150% of Q. So, the final cap would be:

    Lending & Borrowing

    Mars Protocol features a robust and efficient lending and borrowing system, integrated directly into its Credit Account architecture.

    Users can earn yield by supplying assets to the protocol or borrow assets to pursue leveraged strategies. The system is governed by a dynamic interest rate model and risk-managed asset whitelisting.

    Interest Rate Model

    Mars Protocol employs a two-slope utilization-based interest rate model, inspired by proven designs from protocols such as Aave. This model balances supply and demand to ensure optimal capital efficiency and risk mitigation.

    How It Works

    The model defines two distinct utilization zones:

    • Slope 1: Low to Optimal Utilization

      • Interest rates increase gradually as utilization rises.

      • Encourages borrowing and keeps costs low when liquidity is abundant.

    • Slope 2: Optimal Utilization to 100%

    Rate Component
    Description

    The protocol aims to keep each asset’s utilization around the optimal level, maximizing capital efficiency without compromising system solvency.


    Asset Whitelisting & Lending Restrictions

    To maintain system security and reliability, Mars enforces asset-level permissions:

    • Only whitelisted assets can be deposited or borrowed.

    • Not all whitelisted assets are borrowable.

      • Example: Liquid Staking Tokens (LSTs) are generally non-borrowable due to their price manipulation risk via redemption mechanisms.

    If an asset cannot be borrowed:

    • It will have no Borrow APR.

    • It may still be deposited and lent out (e.g., as passive liquidity).


    Lending Features

    Mars offers users several mechanisms to earn passive income through lending:

    Deposit Caps

    • Every whitelisted asset is subject to a deposit cap, limiting the maximum allowable supply.

    • Caps apply regardless of borrowability.

    • Users can view:

      • Current deposits

    Auto-Lend Toggle

    • Located in the Credit Account interface

    • When enabled, all deposited assets are automatically lent

    • Provides a hands-free yield generation mechanism

    • Ideal for users seeking to maximize utilization without manual management


    Borrowing Features

    The borrowing system is built to support flexibility, transparency, and control.

    Borrowing Options

    Users can borrow in two ways:

    Method
    Effect

    Repayment Options

    • Manual repayment available via the user interface

    • Repayments can be partial or full

    • Real-time account health and debt visibility support informed decision-making


    Liquidity Information

    All asset-specific lending and borrowing parameters are visible in real-time:

    • Available Liquidity: Total amount that can currently be borrowed

    • Utilization Rate: Ratio of borrowed to total supplied capital

    • Maximum Borrow Capacity: Based on the user’s Credit Account collateral

    These indicators help users assess borrowing feasibility and forecast interest rate trends.


    Summary

    Feature
    Description

    Tutorial


    Lending and Borrowing on Mars Protocol combine flexible capital deployment with strong risk management, offering users a sophisticated yet intuitive DeFi money market experience. Whether you're a passive lender or an active borrower, Mars equips you with the tools to manage yield and leverage efficiently.

    Cookie Policy

    Mars Protocol's Cookie Policy

    In view of the importance of data privacy, and our obligations of transparency, we provide information below about cookies, how we use them on our website.

    For the other information concerning data processing conducted by Mars Protocol Foundation Ltd please refer to our privacy policy.

    Controller

    Mars Protocol Foundation Ltd, with principal office in Cayman Islands, email [email protected]


    What are cookies?

    Cookies are small text files that are sent to your computer to ensure the technical functionality of the website. Mars Protocol Foundation uses cookies in some areas of its web pages to make it easier for you to use the pages and to make them more personalized.

    Terminology

    When trying to understand cookies, it can help to know following terminology. Cookies installed on your device by the organization running the website you are visiting are known as “first party” cookies. Cookies installed on your device via the website you are visiting by another organization are termed “third party” cookies. An example is a cookie set by a specialist website analytics company that provides the website owner with data on the numbers of people visiting its website (Cookies for range and usage analysis).

    So-called “persistent cookies” remain on your device even after you close your internet browser. They are activated each time you visit the website that created that particular cookie. For example, where a “persistent cookie” is used on a website to remember your login details, you will not need to enter those details each time you visit that website (Functional and preference cookies).

    “Session cookies”, by contrast, are temporary and are typically used to enable the website to operate, e.g. by permitting a user to move from page to page without having to log in again. Once you close your browser, all session cookies are deleted (Technically necessary cookies).

    “Strictly Necessary Cookies” are cookies without which you would not be able to use this website. For example, Strictly Necessary Cookies adjust the website data transmitted to match your Internet connection, get you to the secure versions of the website, and help provide services you specifically request. If you set your browser to block these cookies, some parts of the website will not work. Strictly Necessary Cookies do not store any personal data.

    “Functional cookies” allow the website to remember choices you make and provide enhanced functionality and more personalized features. Depending on context, Functional Cookies may store certain types of personal data as needed to provide functionality.

    Moreover, “performance cookies” allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our website, and will not be able to monitor its performance.

    What cookies do we use?

    This website uses cookies that are necessary for the technical functionality of our website and the recognition of errors or to offer a service or functionality requested by you. These is the list of cookies used by our website:

    Cookie key
    Used on
    Domain
    Cookie type
    Description

    How to control cookies

    The cookies used by the our websites allow you to take full advantage of the functionalities of our websites. In order to offer certain functionalities, certain technically necessary cookies can be used to display these functionalities correctly. Therefore, you cannot reject the use of these cookies.

    Be aware that you can set your web browser to disable cookies. Please note that most browsers offer different ways to protect your privacy. If you do not activate or deactivate certain cookies via the browser settings, it is possible that certain functionalities will not be available to you as expected. For example, you can allow first-party cookies, but block third-party cookies, or receive a notification each time a website wants to install a cookie.

    Please note that if you disable cookies in this way, you will not be able to set new cookies. However, it will not prevent previously set cookies from continuing to work on your device until you clear all cookies in your browser settings.

    Instructions for managing cookies on your browser can usually be found under the browser’s help function or in the operating instructions for your smartphone.

    Contact If you feel that the above is not sufficient or if you have any queries as regards the collection, processing or use of your information we are looking forward to hearing from you. We will make every effort to reply as soon as possible and take into consideration any suggestions from your end. If you have any questions, comments, or concerns regarding our Cookie Policy and/or practices, please contact us at

    Smart Contracts

    The Mars Protocol utilizes a set of Smart Contracts. Oak and Halborn have audited all Mars Protocol Contracts. As a fully open source project, the Mars Protocol Smart Contracts are subject to a GPL-3.0 license and available on GitHub in this repository.

    Current deployed set of Smart Contracts

    Contract
    Neutron
    Osmosis

    High Leverage Strategies

    High Leverage Strategies (HLS) are specialized Credit Accounts that enable users to amplify exposure while maintaining isolated risk.

    These strategies rely on strict collateral-debt pairings of highly correlated assets, such as liquid staking tokens (LSTs) and their underlying base assets (e.g., dATOM and ATOM).

    By utilizing asset pairs with strong price correlation, HLS Accounts allow for higher leverage ratios compared to standard Credit Accounts - while preserving overall protocol stability.

    Unlike standard Credit Accounts, HLS Accounts are limited to borrowing only highly correlated assets. Upon depositing a collateral asset into an HLS Credit Account, only a small, predefined set of matching assets can be borrowed. This restriction is based on the assumption that these assets move in price together, reducing systemic risk.

    For example:

    • A user deposits ATOM into an HLS Credit Account.

    • From this point forward, only ATOM, stATOM, or dATOM can be borrowed against it.

    • Because of the high correlation, users can borrow up to 6× the value of their collateral.

    This mechanism unlocks powerful leverage potential—particularly with liquid staking derivatives (LSDs), which are prevalent in the Cosmos ecosystem.


    LSDs in the Cosmos Ecosystem

    Cosmos-native protocols such as Stride and Drop offer LSDs (e.g., stATOM, dATOM, stTIA), which represent staked tokens that continue to accrue staking rewards (APY). These LSDs are supported with deep liquidity across Neutron and Osmosis via platforms like Astroport and Osmosis DEX.

    Example:

    • A user deposits dATOM into an HLS Credit Account.

    • Only ATOM can be borrowed against this position, since ATOM is the base asset of dATOM.


    Case Study: The ATOM Scenario

    To illustrate, let’s assume ATOM's price remains constant over one year.

    Baseline Performance

    The APYs are the current APYs at the time of writing and will be different at the time of reading this guide.

    Strategy
    Initial Value
    APY
    End Value
    Profit

    High Leverage Strategy (HLS)

    1. Deposit $100 of dATOM as collateral.

    2. Borrow $600 of ATOM (leverage: 7x).

    3. Swap to dATOM (assuming a 1% slippage on the swap = $6 loss).

    4. User now holds $694 of dATOM.

    Over one year:

    • Borrow cost: $600 × 10.29% = $61.74

    • Staking gain: $694 × 14.88% = $103.27

    • Net Profit: $103.27 – $61.74 = $41.53

    • Effective APY: 41.53% on initial $100

    This strategy is profitable only as long as the staking APY > borrow APY.


    Risk Factors in HLS

    While potentially lucrative, High Leverage Strategies come with significant risks:

    1. Swap Slippage

    Closing an HLS position requires converting LSDs back to base assets. Depending on position size and market conditions, swap slippage may erode profits. Users can mitigate this by deleveraging gradually.

    2. LSD Depegging

    LSDs depend on accurate redemption rates from providers (e.g., Stride, Drop). Failure in these mechanisms may cause depegging, exposing users to liquidation risk - even without price movement.

    3. Volatile Borrow Rates

    Borrow APYs are dynamic and can spike unexpectedly. An HLS position must be actively monitored, and is not suited for passive investment styles.

    Swapper

    The Swapper Contract wraps the underlying decentralized exchange (DEX) to work with the Credit Manager. It checks the minimum received amounts and reverts swaps with too much slippage.

    Deployments

    Neutron: neutron1udr9fc3kd743dezrj38v2ac74pxxr6qsx4xt4nfpcfczgw52rvyqyjp5au

    Osmosis: osmo1wee0z8c7tcawyl647eapqs4a88q8jpa7ddy6nn2nrs7t47p2zhxswetwla


    Types

    The types of the Rewards Collector Contract can be found .

    For reference on the Queries and Methods:


    Queries

    config

    Returns the Contracts configuration.

    estimate_exact_in_swap

    owner

    route

    routes


    Methods

    swap_exact_in

    Depositing into Vault

    Managed Vaults on Mars Protocol allow you to passively participate in a trading strategy run by a vault manager. In return for your deposit, you receive vault shares that represent your portion of the vault and its performance over time.

    This guide walks you through what to check before depositing, how it works, and what to expect after you've entered a vault.


    Finding a Vault

    All available vaults are listed in a sortable table on the main Vaults page.

    Each row displays:

    ppp

    3 of 5 Mars Contributors

    Forum
    DAO DAO Governance
    MARS Token

    30%

    Tier 5

    250,000+

    45%

    Tier 6

    500,000+

    60%

    Tier 7

    1,000,000+

    70%

    Tier 8

    1,500,000+

    80%

    Lend ATOM in Red Bank

    $100

    5.06%

    $105.06

    $5.06

    Hold dATOM (staking)

    $100

    14.88%

    $114.88

    $14.88

    here
    Base Types
    type Uint128 = string
    Coin Types
    interface Coin {
      amount: Uint128
      denom: string
      [k: string]: unknown
    }
    Query message
    {
        config: {}    
    }
    Return output
    {
        data: {
            router: string
            factory: string
            oracle: string"
        }
    }
    Query message
    {
        estimate_exact_in_swap: {
            coin_in: Coin
            denom_out: string
            route?: {
                astro: {
                    swaps: [
                        {
                            from: string
                            to: string
                        },
                        ...
                    ]
            } | {
                osmo: {
                    swaps: [
                        {
                            pool_id: number
                            to: string
                        },
                        ...
                    ]
            } | null
        } 
    }
    Return output
    {
        data: {
            router: string
            factory: string
            oracle: string"
        }
    }
    Query message
    {
        owner: {}  
    }
    Return output
    {
        data: {
            router: string
            factory: string
            oracle: string"
        }
    }
    Query message
    {
        route: {
            denom_in: string
            denom_out: string
        }
    }
    Return output
    {
        data: {
            router: string
            factory: string
            oracle: string"
        }
    }
    Query message
    {
        routes: {
            limit?: number | null
            start_after?: [string, string] | null
        }
    }
    Return output
    {
        data: {
            router: string
            factory: string
            oracle: string"
        }
    }
    Execution message
    {
        swap_exact_in: {
            coin_in: Coin
            denom_out: string
            min_receive: Uint128
            route?: {
                astro: {
                    swaps: [
                        {
                            from: string
                            to: string
                        },
                        ...
                    ]
            } | {
                osmo: {
                    swaps: [
                        {
                            pool_id: number
                            to: string
                        },
                        ...
                    ]
            } | null
        }
    }

    ASTRO token emissions, driven by governance votes

  • Third-party rewards, attracting deeper liquidity to selected pools

  • Initial Account APY: -2.20%

  • Post-Strategy Account APY: 6.72%

  • Post-Strategy Account APY: 9.30%

    Platform Integration

    Astroport on Neutron

    LP Collateralization

    LP tokens accepted as collateral in Credit Accounts

    Single-Sided Provisioning

    Supported by Astroport to reduce swaps and gas costs

    Borrowing Flexibility

    Users can borrow LP assets or alternative tokens

    Yield Optimization

    Increased LP exposure enhances farming returns through leverage

    APY Impact

    Leverage boosts Credit Account APY significantly when properly managed

    High Leverage Strategies
    Borrowing NTRN and USDC for the LP
    Credit Account APY increases from -2.20% to 6.72%
    Borrowing WETH.axl for the LP
    Credit Account APY increases from 3.91% to 10.16%

  • LLL
    β\beta%β
    β\betaβ
    uoptu_{opt}uopt​
    xx%x
    ddd
    QQQ
    TTT
    ddd
    TTT
    LLL
    β\beta%β
    n=dLn = \frac{d}{L}n=Ld​
    TTT
    1/n1/n1/n
    N=n⋅TN = n \cdot TN=n⋅T
    NL=n⋅T=dL⋅TN_L = n \cdot T = \frac{d}{L} \cdot TNL​=n⋅T=Ld​⋅T
    NLN_LNL​
    NL=24hN_L = 24hNL​=24h
    NLN_LNL​
    TTT
    d=NLT⋅Ld = \frac{N_L}{T} \cdot Ld=TNL​​⋅L
    ddd
    BorrowedFunds=uopt⋅DepositCapBorrowedFunds = u_{opt} \cdot DepositCapBorrowedFunds=uopt​⋅DepositCap
    xx%x
    d=BorrowedFunds⋅x⋅(1+β)d = BorrowedFunds \cdot x \cdot (1 + \beta)d=BorrowedFunds⋅x⋅(1+β)
    β\betaβ
    uopt⋅DepositCap⋅x⋅(1+β)=NLT⋅Lu_{opt} \cdot DepositCap \cdot x \cdot (1 + \beta) = \frac{N_L}{T} \cdot Luopt​⋅DepositCap⋅x⋅(1+β)=TNL​​⋅L
    ModelDepositCap=NLT⋅Luopt⋅x⋅(1+β)ModelDepositCap = \frac{N_L}{T} \cdot \frac{L}{u_{opt} \cdot x \cdot (1 + \beta)}ModelDepositCap=TNL​​⋅uopt​⋅x⋅(1+β)L​
    ExpertCap=150ExpertCap = 150% \cdot QExpertCap=150
    xx%x
    TTT
    β=5\beta = 5%β=5
    QQQ
    uopt=80u_{opt} = 80%uopt​=80
    x=30x = 30%x=30
    ModelDepositCap=242⋅L0.8⋅0.3⋅(1+0.05)≈47⋅LModelDepositCap = \frac{24}{2} \cdot \frac{L}{0.8 \cdot 0.3 \cdot (1 + 0.05)} \approx 47 \cdot LModelDepositCap=224​⋅0.8⋅0.3⋅(1+0.05)L​≈47⋅L
    L=Q2⋅0.05L = \frac{Q}{2} \cdot 0.05L=2Q​⋅0.05
    ModelDepositCap=1.19⋅QModelDepositCap = 1.19 \cdot QModelDepositCap=1.19⋅Q
    L=Q2⋅0.05⋅1.5=0.0375⋅QL = \frac{Q}{2} \cdot 0.05 \cdot 1.5 = 0.0375 \cdot QL=2Q​⋅0.05⋅1.5=0.0375⋅Q
    ModelDepositCap=1.78⋅QModelDepositCap = 1.78 \cdot QModelDepositCap=1.78⋅Q
    FinalDepositCap=min⁡(ModelDepositCap,ExpertCap)=1.5⋅QFinalDepositCap = \min(ModelDepositCap, ExpertCap) = 1.5 \cdot QFinalDepositCap=min(ModelDepositCap,ExpertCap)=1.5⋅Q
  • Interest rates increase steeply to discourage further borrowing as liquidity becomes constrained.

  • Remaining capacity

  • Details in the Risk Parameters section

  • Borrowing APR

    Increases with utilization. Borrowers pay interest to the pool.

    Lending APR

    Derived from Borrowing APR, distributed across lenders. Always lower due to protocol reserves.

    To Wallet

    Increases external capital, enabling margin or off-protocol use

    To Credit Account

    Boosts leverage directly within Mars

    Interest Model

    Two-slope utilization curve with optimal efficiency targets

    Lendable Assets

    Whitelisted only; some may not be borrowable

    Deposit Caps

    Enforced per asset; visible in UI

    Auto-Lend

    Automatically lends all Credit Account assets

    Borrow Options

    To wallet (external use) or Credit Account (internal leverage)

    Risk Controls

    Live liquidity and utilization metrics

    app.marsprotocol.io

    app.marsprotocol.io

    cookie

    necessary

    osmosis.marsprotocol.io

    osmosis.marsprotocol.io

    cookie

    necessary

    Cookie settings in Internet Explorer
    Cookie settings in Firefox
    Cookie settings in Chrome
    Cookie settings in Safari
    [email protected]

    Vault Title – The custom name set by the manager

  • Manager Identity – Either a profile name (if set via Stargaze) or a shortened address

  • TVL – Total value locked in the vault

  • APY – Current annualized return (based on vault performance)

  • Fee – The performance fee charged by the manager

  • Vault Info – A button to inspect the vault in detail

  • You can sort the list by TVL, APY, or fee to find vaults that match your risk appetite or yield target.

    Click the Vault Info button to view full details, including strategy, past performance, and deposit options.


    Inspecting a Vault

    Before depositing, you should always review the vault’s:

    • Strategy description – Understand what the manager is doing with your funds.

    • Health & Position Metrics – Includes leverage, risk level, open positions, and exposure.

    • Performance tab – Shows historical data such as:

      • Vault balance

    Note: Vault managers take a performance fee, which is a cut of the profits they generate. You can see the fee percentage on the vault’s summary panel.

    Note on APY: The APY displayed is based on a 30-day rolling average of the vault’s performance. If a vault is less than 30 days old, the APY may appear volatile or unrepresentative until sufficient historical data is collected.


    DYOR (Do Your Own Research)

    Always make informed decisions. Take time to:

    • Understand the strategy

    • Review the manager’s trading history and transparency

    • Check vault risk metrics

    • Consider the withdrawal freeze period (lockup time)


    Depositing Funds

    When you're ready to deposit:

    • Funds are pulled directly from your connected wallet

    • Your Credit Account is not involved

    • In return, you receive vault shares, which are:

      • Proportional to your deposit


    Withdrawing Funds

    To exit a vault:

    1. Click Unlock to start the withdrawal timer

    2. After the freeze period ends, you can click Withdraw

    If you have multiple unlocked positions, clicking Withdraw will process all of them in a single transaction.


    My Vault Position

    Once you've deposited into a vault, you'll gain access to a detailed breakdown of your personal position via the Performance tab. This section helps you track how your share in the vault has evolved over time.

    Here’s what you’ll see:

    • Your Balance The current value of your vault shares, denominated in the vault’s base asset (e.g., USDC or NTRN).

      This value fluctuates based on both the vault’s performance and the market price of the base asset. For example, if the vault is denominated in NTRN, your balance in USD terms may change even if your share count stays the same — due to changes in NTRN’s price.

    • Total PnL The cumulative profit or loss generated by your position in the vault.

    • ROI (Return on Investment) Expressed as a percentage, this shows your personal performance since the time of deposit.

    Reminder: Managed Vaults are not entirely “set and forget.” You’re still responsible for monitoring your position over time. Keep an eye on the vault’s strategy, positions, and risk metrics — especially if market conditions change. While vault managers trade on your behalf, you should stay informed and reassess your deposit if needed.


    My Deposits

    Any vaults where you have a deposit will appear in a separate “My Deposits” table at the top of the main Vaults page. This makes it easy to keep track of all your positions across different strategies.

    From here, you can monitor your vault performance, initiate withdrawals, or explore other vaults to diversify your exposure.

    Account NFT

    The Account NFT Contract returns all Credit Account NFT infos and handles the minting and burning of Credit Accounts via the Credit Manager.

    Deployments

    Neutron:

    Osmosis:


    Maximum Funding Velocity

    This section explains how the maximum funding velocity parameter is calibrated.

    Parameter Calibration Rationale

    Under a critical skew level (near the maximum), and given an extreme price change of the underlying asset over a certain horizon (i.e., a strong upward or downward price trend in the direction of the skew), the funding rate velocity must ensure that the accumulated funding payment exceeds or equals the profit from the price change (i.e., the market risk delta is hedged by the funding payment). This incentivizes users to close their positions and return the market to a neutral state, even without intervention from other participants.

    Given the use of soft maxSkew restrictions, the theoretical maximum skew is equivalent to maxOI. Therefore, maxOI is used in maxFundingVelocityCalibration instead of maxSkew.

    Throughout the considered period, the skew measured in tokens is assumed to remain constant. This represents a highly conservative assumption, positing the absence of arbitrageurs who might respond to increased funding rates.

    Credit Accounts

    Understanding Credit Accounts on Mars

    To understand how a Credit Account works, let's break down some key concepts:

    T=2hT = 2hT=2h
    NL=24hN_L = 24hNL​=24h

    neutron.marsprotocol.io

    neutron.marsprotocol.io

    cookie

    necessary

    _cfruid

    .marsprotocol.io

    .marsprotocol.io

    Third party cookie

    Strictly necessary

    cf_use_ob, _cfwaitingroom

    .marsprotocol.io

    .marsprotocol.io

    Third party cookie

    Strictly necessary

    _cflb, _cf_bm, cf_ob_info

    .marsprotocol.io

    .marsprotocol.io

    Third party cookie

    Strictly necessary

    Share price evolution

  • Historical APY

  • Vault age

  • Max 90-day drawdown - largest value drop over any 90-day period

  • Total PnL - total profit or loss generated since vault inception

  • Transferable

  • Redeemable later for the base asset

  • For example, if you deposited $500 and your balance is now $550, your ROI is +10%.

  • Vault Share % Shows how much of the total vault you currently own. This is determined by the number of vault shares you hold versus the total vault share supply.

  • Types

    The types of the Account NFT Contract can be found .

    For reference on the Queries and Methods:


    Queries

    all_nft_info

    Returns all NFT related infos for a the provided token_id.

    all_operators

    all_tokens

    approvals

    config

    contract_info

    minter

    next_id

    nft_info

    num_tokens

    owner_of

    ownership

    tokens


    Methods

    The Account NFT methods can only be executed by the . The methods are therefore not a part of the documentation.

    neutron184kvu96rqtetmunkkmhu5hru8yaqg7qfhd8ldu5avjnamdqu69squrh3f5
    osmo1450hrg6dv2l58c0rvdwx8ec2a0r6dd50hn4frk370tpvqjhy8khqw7sw09

    Key Parameters

    • is a risk horizon

    • is the extreme price change within the risk horizon that is highly probable, determined by the underlying asset's quality category:

    Quality Category
    y

    Estimated figures in the table represent the median historical 95% CVaR for price returns within each specified quality category.

    • is the proportional skew level (). Given a low skew, the protocol's risk exposure from unrealized PnL is minimal, which justifies setting the critical threshold at 95%.

    • is the frequency of the funding rate update, .

    Calculation

    where

    is the maximum token-denominated skew determined under the oracle price at the moment of calibration.

    The formal proof for the above formula is provided in the Appendix.

    Input Data

    Data Item
    Description
    Source
    Period/Frequency
    Processing

    Proof of MaxFundingVelocity Formula

    Appendix B. Proof for the maxFundingVelocity formula

    Results below are derived for long positions, for short positions the calculation is similar.

    PnL from the price change at the end of the horizon is the following:

    where is the percentage price return over the horizon.

    Funding accrued per each period between the skew-modification events is calculated as follows:

    where is the time step measured in days.

    Accumulated funding at the end of the horizon:

    Assuming a linear price growth, we have:

    Then

    The funding rate dynamics is the following:

    where is the short notation for .

    Let , , . At any given moment, the funding rate is defined as follows:

    By integrating the funding rate's behavior into the funding accumulation equation, the following is derived:

    The sum can be represented as follows:

    where

    The cumulative funding is then expressed as:

    By the end of the defined period, the total accumulated funding must be at least equal to the profit or loss that has not yet been realized due to price fluctuations:

    Let's find the minimum at which this inequality satisfies:

    This gives the final equation for maxFundingVelocity:

    The final outcome is achieved by solving the equation for .

    This completes the proof.

    Collateral vs. Debt
    • Collateral: Assets you deposit into your Credit Account. These assets back your borrowing and trading activities.

    • Debt: The amount you've borrowed against your collateral.

    Leverage and Risk

    Taking leverage can amplify both gains and losses. It comes with risks, including the possibility of liquidation.

    Health Factor

    The Health Factor is a crucial metric that determines the safety of your Credit Account.

    • Your account is considered healthy when your (Adjusted) Collateral Value > Debt

    • This relationship is expressed as the Health Factor

    • A Health Factor > 1 means your account is healthy

    • A Health Factor ≤ 1 means your account is at risk of liquidation

    Health Factor Calculation

    The Health Factor is calculated using this formula:

    Health Factor = (Collateral Value * LTV) / Debt

    Where:

    • Collateral Value: The total value of assets in your Credit Account

    • LTV: Loan-to-Value ratio, which varies depending on the context (see MaxLTV and LiqLTV below)

    • Debt: The total amount borrowed

    Risk Parameters: MaxLTV vs. LiqLTV

    Mars Protocol uses two different LTV parameters to manage risk:

    1. MaxLTV (Maximum Loan-to-Value)

      • Used when entering a new position

      • Determines how much you can borrow against your collateral

      • Applied in calculating the Account Health Factor for new positions

    Why the Difference?

    The difference between MaxLTV and LiqLTV provides a safety margin. If a user maxes out their leverage when entering a new position (using MaxLTV), small market movements won't immediately cause the account to be liquidated. The higher LiqLTV gives some buffer before liquidation occurs.

    Credit Account Example

    Below is an example of a Credit Account, showing how collateral, debt, and health factors are calculated:

    Collateral Assets

    Asset
    Position Size
    Price
    Market Value
    Max LTV
    Liq LTV
    CP MaxLTV
    CP LiqLTV

    Debt

    Asset
    Position Size
    Price
    Market Value

    Health Factors

    Metric
    Value

    Explanation:

    1. Collateral: The account holds two assets as collateral - BTC and USDC.

      • CP MaxLTV: Collateral Power using Maximum LTV

      • CP LiqLTV: Collateral Power using Liquidation LTV

    2. Debt: The account has borrowed 38 ETH, valued at $378,100.

    The difference between MaxLTV and LiqLTV creates a safety margin, allowing for some market fluctuation before the account becomes at risk of liquidation.

    Tutorial

    Address Provider
    neutron17yehp4x7n79zq9dlw4g7xmnrvwdjjj2yecq26844sg8yu74knlxqfx5vqv
    osmo1g677w7mfvn78eeudzwylxzlyz69fsgumqrscj6tekhdvs8fye3asufmvxr
    Account NFT
    neutron184kvu96rqtetmunkkmhu5hru8yaqg7qfhd8ldu5avjnamdqu69squrh3f5
    osmo1450hrg6dv2l58c0rvdwx8ec2a0r6dd50hn4frk370tpvqjhy8khqw7sw09
    Credit Manager
    neutron1qdzn3l4kn7gsjna2tfpg3g3mwd6kunx4p50lfya59k02846xas6qslgs3r
    osmo1f2m24wktq0sw3c0lexlg7fv4kngwyttvzws3a3r3al9ld2s2pvds87jqvf
    Health
    neutron17ktfwsr7ghlxzzma0gw0hke3j3rnssd58q87jv2wzfrk6uhawa3sv8xxtm
    osmo1pdc49qlyhpkzx4j24uuw97kk6hv7e9xvrdjlww8qj6al53gmu49sge4g79
    Incentives
    neutron1aszpdh35zsaz0yj80mz7f5dtl9zq5jfl8hgm094y0j0vsychfekqxhzd39
    osmo1nkahswfr8shg8rlxqwup0vgahp0dk4x8w6tkv3rra8rratnut36sk22vrm
    Oracle
    neutron1dwp6m7pdrz6rnhdyrx5ha0acsduydqcpzkylvfgspsz60pj2agxqaqrr7g
    osmo1mhznfr60vjdp2gejhyv2gax9nvyyzhd3z0qcwseyetkfustjauzqycsy2g
    Params
    neutron1x4rgd7ry23v2n49y7xdzje0743c5tgrnqrqsvwyya2h6m48tz4jqqex06x
    osmo1nlmdxt9ctql2jr47qd4fpgzg84cjswxyw6q99u4y4u4q6c2f5ksq7ysent
    Red Bank
    neutron1n97wnm7q6d2hrcna3rqlnyqw2we6k0l8uqvmyqq6gsml92epdu7quugyph
    osmo1c3ljch9dfw5kf52nfwpxd2zmj2ese7agnx0p9tenkrryasrle5sqf3ftpg
    Rewards Collector
    neutron1h4l6rvylzcuxwdw3gzkkdzfjdxf4mv2ypfdgvnvag0dtz6x07gps6fl2vm
    osmo1urvqe5mw00ws25yqdd4c4hlh8kdyf567mpcml7cdve9w08z0ydcqvsrgdy
    Swapper
    neutron1udr9fc3kd743dezrj38v2ac74pxxr6qsx4xt4nfpcfczgw52rvyqyjp5au
    osmo1wee0z8c7tcawyl647eapqs4a88q8jpa7ddy6nn2nrs7t47p2zhxswetwla
    Zapper
    neutron1dr0ckm3u2ztjuscmgqjr85lwyduphxkgl3tc02ac8zp54r05t5dqp5tgyq
    osmo17qwvc70pzc9mudr8t02t3pl74hhqsgwnskl734p4hug3s8mkerdqzduf7c
    Perps
    neutron1g3catxyv0fk8zzsra2mjc0v4s69a7xygdjt85t54l7ym3gv0un4q2xhaf6
    Learn how to set up the Keplr Wallet extension
    here
    Credit Manager
    Base Types
    type Binary = string
    type Uint128 = string
    type Expiration =
      | {
          at_height: number
        }
      | {
          at_time: Timestamp
        }
      | {
          never: {}
        }
    Query message
    {
        all_nft_info: {
            include_expired?: boolean | null
            token_id: string
        }
    }
    Return output
    {
        data: {
            access: {
                approvals: [
                    {
                          expires: Expiration
                          spender: string
                    },
                    ...
                ]
                owner: string
            }
            info: {
                extension: [k: string]: unknown
                token_uri?: string | null
            }
        }
    }
    Query message
    {
        all_operators: {
            include_expired?: boolean | null
            limit?: number | null
            owner: string
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            operators: [
                {
                    expires: Expiration
                    spender: string
                },
                ...
            ]
        }
    }
    Query message
    {
        all_tokens: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            tokens: string[]
        }
    }
    Query message
    {
        approvals: {
            include_expired?: boolean | null
            token_id: string
        }
    }
    Return output
    {
        data: {
            approvals: [
                {
                    expires: Expiration
                    spender: string
                },
                ...
            ]
        }
    }
    Query message
    {
        config: {}
    }
    Return output
    {
        data: {
            credit_manager_contract_addr?: string | null
            health_contract_addr?: string | null
            max_value_for_burn: Uint128
        }
    }
    Query message
    {
        contract_info: {}
    }
    Return output
    {
        data: {
            name: string
            symbol: string
        }
    }
    Query message
    {
        minter: {}
    }
    Return output
    {
        data: {
            minter: string
        }
    }
    Query message
    {
        next_id: {}
    }
    Return output
    {
        data: Uint128
    }
    Query message
    {
        nft_info: {
            token_id: string
        }
    }
    Return output
    {
        data: {
            extension: [k: string]: unknown
            token_uri?: string | null
        }
    }
    Query message
    {
        num_tokens: {}
    }
    Return output
    {
        data: {
            count: number
        }
    }
    Query message
    {
        owner_of: {
            include_expired?: boolean | null
            token_id: string
        }
    }
    Return output
    {
        data: {
            approvals: [
                {
                    expires: Expiration
                    spender: string
                },
                ...
            ]         
            owner: string
        }
    }
    Query message
    {
        ownership: {}
    }
    Return output
    {
        data: {
            owner: string
            pending_owner: Expiration | null
            pending_expiry: Addr | null
        }
    }
    Query message
    {
        tokens: {
            limit?: number | null
            owner: string
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            tokens: string[]
        }
    }

    Skew scale parameter

    RF

    -

    -

    h=24hh = 24hh=24h
    yyy

    Very Good

    5%

    Good

    10%

    Medium

    15%

    Bad

    40%

    Very Bad

    40%

    kkk
    k=Kt/Kmax⁡k = K_{t}/K_{\max}k=Kt​/Kmax​
    τ=1/24\tau = 1/24τ=1/24
    T=24T = 24T=24
    maxFundingVelocity=ceil(yw⋅τ2⋅(S1+y⋅τ⋅S2),0)maxFundingVelocity = \text{ceil}\left(\frac{y}{w \cdot \tau^{2} \cdot (S_{1} + y \cdot \tau \cdot S_{2})}, 0\right)maxFundingVelocity=ceil(w⋅τ2⋅(S1​+y⋅τ⋅S2​)y​,0)
    S1=∑t=1Tt=T⋅T+12S_{1} = \sum_{t=1}^{T} t = T \cdot \frac{T + 1}{2}S1​=t=1∑T​t=T⋅2T+1​
    S2=∑t=1Tt2=T⋅(T+1)⋅(2T+1)6S_{2} = \sum_{t=1}^{T} t^{2} = \frac{T \cdot (T + 1) \cdot (2T + 1)}{6}S2​=t=1∑T​t2=6T⋅(T+1)⋅(2T+1)​
    w=k⋅Kmax⁡skewScalew = \frac{k \cdot K_{\max}}{skewScale}w=skewScalek⋅Kmax​​
    Kmax⁡K_{\max}Kmax​

    ppp

    Price of the underlying asset over the historical period

    Coingecko

    Frequency: 1h Period: past 365 days

    Simple percentage return is calculated over the risk horizon

    K$,max=maxOI$K_{\$,max} = maxOI_{\$}K$,max​=maxOI$​

    Maximum dollar OI per market

    RF

    -

    -

    PnLT=(pT−p0)⋅q=q⋅((1+y)⋅p0−p0)=y⋅p0⋅qPnL_{T} = (p_{T} - p_{0}) \cdot q = q \cdot ((1 + y) \cdot p_{0} - p_{0}) = y \cdot p_{0} \cdot qPnLT​=(pT​−p0​)⋅q=q⋅((1+y)⋅p0​−p0​)=y⋅p0​⋅q
    yyy
    ft=pt⋅q⋅rt⋅τf_{t} = p_{t} \cdot q \cdot r_{t} \cdot \tauft​=pt​⋅q⋅rt​⋅τ
    τ=hT\tau = \frac{h}{T}τ=Th​
    FT=∑ft=τ⋅q⋅∑pt⋅rt=τ⋅q⋅p0⋅∑(1+yt)⋅rtF_{T} = \sum f_{t} = \tau \cdot q \cdot \sum p_{t} \cdot r_{t} = \tau \cdot q \cdot p_{0} \cdot \sum (1 + y_{t}) \cdot r_{t}FT​=∑ft​=τ⋅q⋅∑pt​⋅rt​=τ⋅q⋅p0​⋅∑(1+yt​)⋅rt​
    yt=y⋅t⋅τy_{t} = y \cdot t \cdot \tauyt​=y⋅t⋅τ
    FT=τ⋅q⋅p0⋅∑(1+y⋅t⋅τ)⋅rtF_{T} = \tau \cdot q \cdot p_{0} \cdot \sum (1 + y \cdot t \cdot \tau) \cdot r_{t}FT​=τ⋅q⋅p0​⋅∑(1+y⋅t⋅τ)⋅rt​
    rt=rt−1+c⋅τ⋅KtSkewScaler_{t} = r_{t-1} + c \cdot \tau \cdot \frac{K_{t}}{SkewScale}rt​=rt−1​+c⋅τ⋅SkewScaleKt​​
    ccc
    maxFundingVelocitymaxFundingVelocitymaxFundingVelocity
    r0=0r_{0} = 0r0​=0
    Kt=k⋅KmaxK_{t} = k \cdot K_{max}Kt​=k⋅Kmax​
    w=k⋅KmaxSkewScalew = k \cdot \frac{K_{max}}{SkewScale}w=k⋅SkewScaleKmax​​
    r1=c⋅τ⋅wr_{1} = c \cdot \tau \cdot wr1​=c⋅τ⋅w
    r2=2⋅c⋅τ⋅wr_{2} = 2 \cdot c \cdot \tau \cdot wr2​=2⋅c⋅τ⋅w
    ⋮\vdots⋮
    rt=t⋅c⋅τ⋅wr_{t} = t \cdot c \cdot \tau \cdot wrt​=t⋅c⋅τ⋅w
    ⋮\vdots⋮
    FT=τ2⋅q⋅p0⋅c⋅w⋅∑(1+y⋅t⋅τ)⋅tF_{T} = \tau^{2} \cdot q \cdot p_{0} \cdot c \cdot w \cdot \sum (1 + y \cdot t \cdot \tau) \cdot tFT​=τ2⋅q⋅p0​⋅c⋅w⋅∑(1+y⋅t⋅τ)⋅t
    ∑(1+y⋅t⋅τ)⋅t\sum (1 + y \cdot t \cdot \tau) \cdot t∑(1+y⋅t⋅τ)⋅t
    ∑(1+y⋅t⋅τ)⋅t=∑t+y⋅τ∑t2=S1+y⋅τ⋅S2\sum (1 + y \cdot t \cdot \tau) \cdot t = \sum t + y \cdot \tau \sum t^{2} = S_{1} + y \cdot \tau \cdot S_{2}∑(1+y⋅t⋅τ)⋅t=∑t+y⋅τ∑t2=S1​+y⋅τ⋅S2​
    S1=∑t=T⋅T+12S_{1} = \sum t = T \cdot \frac{T + 1}{2}S1​=∑t=T⋅2T+1​
    S2=∑t2=T⋅(T+1)⋅(2T+1)6S_{2} = \sum t^{2} = \frac{T \cdot (T + 1) \cdot (2T + 1)}{6}S2​=∑t2=6T⋅(T+1)⋅(2T+1)​
    FT=τ2⋅q⋅p0⋅c⋅w⋅(S1+y⋅τ⋅S2)F_{T} = \tau^{2} \cdot q \cdot p_{0} \cdot c \cdot w \cdot (S_{1} + y \cdot \tau \cdot S_{2})FT​=τ2⋅q⋅p0​⋅c⋅w⋅(S1​+y⋅τ⋅S2​)
    FT≥PnLTF_{T} \geq PnL_{T}FT​≥PnLT​
    maxFundingVelocitymaxFundingVelocitymaxFundingVelocity
    FT=PnLTF_{T} = PnL_{T}FT​=PnLT​
    τ2⋅q⋅p0⋅c⋅w⋅(S1+y⋅τ⋅S2)=y⋅p0⋅q\tau^{2} \cdot q \cdot p_{0} \cdot c \cdot w \cdot (S_{1} + y \cdot \tau \cdot S_{2}) = y \cdot p_{0} \cdot qτ2⋅q⋅p0​⋅c⋅w⋅(S1​+y⋅τ⋅S2​)=y⋅p0​⋅q
    τ2⋅c⋅w⋅(S1+y⋅τ⋅S2)=y\tau^{2} \cdot c \cdot w \cdot (S_{1} + y \cdot \tau \cdot S_{2}) = yτ2⋅c⋅w⋅(S1​+y⋅τ⋅S2​)=y
    ccc

    LiqLTV (Liquidation Loan-to-Value)

    • Used to determine if an existing position is at risk of liquidation

    • Applied in calculating the Account Health Factor for liquidation purposes

    • Generally Higher than MaxLTV

    USDC

    50,000

    $1

    $50,000

    80%

    82%

    $40,000

    $41,000

    Health Factors:

    • Using MaxLTV: 1.03 (slightly above the safe threshold of 1)

    • Using LiqLTV: 1.07 (provides a small buffer against liquidation)

    BTC

    5

    $100,000

    $500,000

    70%

    73%

    $350,000

    ETH

    38

    $9,950

    $378,100

    Health Factor (MaxLTV)

    1.03

    Health Factor (LiqLTV)

    1.07

    $365,000

    Incentives

    The Incentives Contract handles additional incentives. It offers the capability to incentivise markets permissionlessly by third parties. Incentive assets have to be whitelisted to be applied.

    Deployments

    Neutron: neutron1aszpdh35zsaz0yj80mz7f5dtl9zq5jfl8hgm094y0j0vsychfekqxhzd39

    Osmosis: osmo1nkahswfr8shg8rlxqwup0vgahp0dk4x8w6tkv3rra8rratnut36sk22vrm


    Types

    The types of the Incentives Contract can be found .

    For reference on the Queries and Methods:


    Queries

    active_emissions

    Return active emissions for a specific market by denom.

    config

    emission

    emissions

    incentive_state

    incentive_states

    staked_astro_lp_position

    staked_astro_lp_positions

    staked_astro_lp_rewards

    user_unclaimed_rewards

    whitelist


    Methods

    balance_change

    claim_rewards

    claim_staked_astro_lp_rewards

    set_asset_incentive

    stake_astro_lp

    unstake_astro_lp

    Mars Fragments Rewards Campaign

    Earn Mars Fragments for deposits in eligible markets and track your share of the 45M MARS rewards.

    The Mars Fragments Rewards Campaign is a long-term incentive program designed to reward aligned users who deepen liquidity across Mars Protocol and its partner products. Fragments track your contribution to the ecosystem, and at the end of the campaign, they convert into real MARS token rewards.

    This page explains how the campaign works, how Fragments are earned, which markets qualify, and how rewards will be claimed.


    What Are Mars Fragments?

    Mars Fragments are an on-chain points unit that represents a user’s share of activity across Mars-aligned products.

    • You earn Fragments by depositing assets into eligible markets.

    • The longer you stay deposited, the more you earn.

    • When the campaign ends, your Fragments convert into MARS tokens.

    Fragments are not a separate token. They simply track user participation and determine how the 45,000,000 MARS reward pool is distributed.

    This system is designed for alignment: no gimmicks, no quests, just rewards for real liquidity and long-term engagement.


    Campaign Overview


    How Mars Fragments Are Earned

    Snapshot Mechanics

    Beginning August 27th, 2025, the Mars Fragments system takes two snapshots per day of all balances in eligible markets.

    Each snapshot credits:

    • 0.5 Mars Fragments per 1 USD deposited → totaling 1 Fragment per USD per day

    Fragments accumulate continuously and are stored on-chain.

    Reward Calculation

    At the end of the campaign:

    There are:

    • no lockups,

    • no vesting,

    • no restrictions on selling after claiming.

    Rewards reflect your share of all Fragments earned across all participants.


    Eligible Markets (Phase 1)

    The campaign currently covers BTCFI markets inside Amber, the first integrated ecosystem partner and Mars.

    All deposits in these BTC markets automatically qualify:

    • No sign-up

    • No transaction required

    • No manual tracking

    Phase 1 Markets Include:

    • Amber BTC lending markets

    • Amber looping markets

    • Amber BTC-based structured strategies

    • Mars wBTC market (Eureka)

    Note: Eligibility expands as new collateral types and markets come online. Additional Mars-native markets (perps, HLS, credit accounts) will join in subsequent phases. See Next Phases below.


    Dashboard & Leaderboard

    A dedicated Mars Fragments dashboard, available at — allows each user to:

    • View total Mars Fragments accumulated

    • See estimated MARS rewards

    • Track ranking on the global leaderboard

    • Monitor campaign progress in real time


    Next Phases: Mars Protocol Markets

    After BTC Phase 1, Mars Fragments rewards will expand across native Mars Protocol markets, including:

    • HLS strategies

    • Perpetual futures

    • Cross-collateral credit accounts

    • Additional BTC & non-BTC markets

    The next expansion begins once maxBTC is fully accepted as collateral on Mars Protocol, enabling unified incentives across:

    • Mars

    • Amber

    • The broader Neutron BTCfi ecosystem

    This creates a cohesive incentives layer across all Mars-aligned products.


    Claiming Your Rewards

    After the campaign concludes on September 1st, 2026, a dedicated claim portal will open no later than October 1st, 2026.

    Through the claim portal, users can:

    • View total Fragments earned

    • See final MARS reward allocation

    • Claim rewards directly to their wallet

    All rewards are immediately unlocked, transferable, and liquid.


    Why Mars Fragments Matter

    Mars Fragments are designed to build long-term alignment by:

    • Rewarding real liquidity over speculation

    • Deepening BTC liquidity across Mars & partner ecosystems

    • Connecting Amber → Mars → Neutron products under one incentives layer

    • Strengthening MARS as a utility, governance, and rewards token

    This campaign marks the next chapter of community-driven growth for Mars.


    How to Participate

    There is no registration process.

    1. Deposit into any eligible BTC market on Mars or Amber

    2. Hold your position

    3. Earn Mars Fragments automatically every day

    As new markets are added, participation opportunities expand — and your early alignment is rewarded proportionally.


    Privacy Policy

    Mars Protocol's Privacy Policy

    Mars Protocol Foundation Ltd and its affiliates (hereinafter, “Mars”, “we”, “us” or “our”) are committed to protecting and respecting your privacy. This privacy policy together with our Terms of Service governs our collection, processing and use of your personal data. By accessing the website under the main domain https://marsprotocol.io/ (“Site”), you are confirming to know the contents of the privacy policy and consenting to the information collection and specific purposes described in this privacy policy.

    1. Which are the relevant definitions used within the privacy policy?

    For the purposes of the present privacy policy:

    “personal data” means any information relating to an identified or identifiable natural person (“data subject”); an identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person;

    “processing” means any operation or set of operations which is performed on personal data or on sets of personal data, whether or not by automated means, such as collection, recording, organization, structuring, storage, adaptation or alteration, retrieval, consultation, use, disclosure by transmission, dissemination or otherwise making available, alignment or combination, restriction, erasure or destruction;

    “controller” means the natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of personal data; where the purposes and means of such processing are determined by Union or Member State law, the controller or the specific criteria for its nomination may be provided for by Union or Member State law;

    “processor” means a natural or legal person, public authority, agency or other body which processes personal data on behalf of the controller;

    “consent” of the data subject means any freely given, specific, informed and unambiguous indication of the data subject's wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her.

    2. Who is the person determining the purposes and means of the processing?

    The legal person that determines the purposes and means of the processing of personal data is Mars Protocol Foundation Ltd, with principal office in the British Virgin Islands, email

    3. Why do we process your data?

    We collect, process, and use personal data on our Site in order to offer you better products and services, best adapt our business processes to the users’ needs, and steer you to the most suitable product information and online applications.

    In particular, data is processed in order to:

    • provide our services efficiently and effectively;

    • develop, enhance, market and deliver products and services to you;

    • find bugs;

    • understand your needs and your eligibility for products and services;

    Moreover, we may directly or indirectly collect and temporarily store personally identifiable information for operational purposes, including for the purpose of identifying blockchain addresses or IP addresses that may indicate use of the Site from prohibited jurisdictions or by sanctioned persons or other prohibited uses.

    4. Which personal data do we process?

    When using the Site, we usually only collect the personal data that your browser transmits to our server. When you view our Site, we collect the following data:

    • IP address;

    • Browser type (e.g. Google Chrome, Firefox);

    • Device resolution;

    • Type of device;

    In order to ameliorate your user experience, once you access the Site, we use local storage data to define the displayed language, identify your wallet, enable or disable animations and activate or deactivate tutorials.

    5. Use of cookies

    Cookies are small text files that are sent to your computer to ensure the technical functionality of the website. Mars uses cookies in some areas of this Site to make it easier for you to use the pages and to make them more personalized.

    Where required by te law, we will use cookies only if you have given your consent.

    To get more information please visit our cookie policy.

    6. Retention of Personal Data

    We will hold your personal data only for as long as it is necessary for us to do so, having regard to the purposes described in this privacy policy and our own legal and regulatory requirements.

    Please be aware that public blockchains provide transparency into transactions and Mars is not responsible for preventing or managing information broadcasted on a public blockchain.

    7. Security, Protection and Use of Personal Data

    Mars constantly implements appropriate technical and organizational measures to ensure a level of security appropriate to the risk, including:

    • the pseudonymization and encryption of Personal Data;

    • the ability to ensure the ongoing confidentiality, integrity, availability and resilience of processing systems and services;

    • the ability to restore the availability and access to personal data in a timely manner in the event of a physical or technical incident;

    • a process for regularly testing, assessing and evaluating the effectiveness of technical and organizational measures for ensuring the security of the processing.

    The security measures in place will, from time to time, be reviewed in line with legal and technical developments.

    8. Recipients of Personal Data

    We may make available the personal data that you provide to us to our affiliates and related entities, agents, representatives, service providers and contractors for the purposes outlined in this privacy policy. Any information shared with such service providers is subject to the terms of this privacy policy. All service providers that we engage with are restricted to only utilizing the information according to our instructions.

    We also reserve the right to disclose personal data that Mars believes, in good faith, is appropriate or necessary to enforce our Terms of Service [link], take precautions against liability or harm, to investigate and respond to third- party claims or allegations, to respond to a court order or official requests, to protect security or integrity of Mars and to protect the rights, property or safety of Mars, our users or others.

    9. Data Subjects’ Rights

    The user has the right to obtain confirmation as to whether or not personal data concerning him or her are being processed, and, where that is the case, access to the personal data and all the relevant information.

    With respect to other categories of rights that might be exercised depending on the place where you are located, please consider Section 14 below.

    10. Users Under Age

    According to the Site’s Terms of Service users must be at least eighteen years of age, of sound mental capacity and have all technical knowledge necessary or advisable to understand and evaluate the risks of the Site Mars does not knowingly collect or store any personal information about users under 16. If you believe such information has been inadvertently processed, we will take necessary steps to remove such information from our database.

    11. Social Plugins

    The Site uses social plugins from the social networking sites. If you access the Site using such a plugin, your browser will contact the server of the underlying social networking site, load the visual presentation of the plugin, and present it to you.

    While this is happening, the social networking site receives information concerning your visit to our Site, as well as further data such as your IP address.

    12. Updates

    Our policies, content, information, promotions, disclosures, disclaimers and features may be revised, modified, updated, and/or supplemented at any time and without prior notice at the sole and absolute discretion of Mars. If we change this privacy policy, we will take steps to notify all users by a notice on our Site and will publish the amended privacy policy on the Site.

    13. Contact details

    If you have any questions, comments, or concerns regarding our privacy policy and/or practices, please contact us at

    14. Additional information for users located in the European Economic Area and in the United Kingdom

    A. Transparency

    The privacy policy informs you about the processing of personal data in accordance with articles 12, 13 and 14 EU Regulation 2016/679 on the protection of natural persons with regard to the processing of Personal Data and on the free movement of such data and repealing Directive 95/46/EC (“GDPR”).

    B. Lawful Basis for the Processing of Personal Data

    The GDPR requires a “lawful basis” for processing personal data. In principle, our lawful basis is established by Art. 6(1)(b) GDPR as the processing is necessary for accessing the services of the Site. Moreover, pursuant to Art. 6(1)(f), the processing is necessary for the purposes of the legitimate interests pursued by the controller or by a third party, in matters related to crimes and legal compliance and in order to ameliorate the efficiency and the user experience of the Site. Where you have given your specific consent, according to Art. 6(1)(a) GDPR, we may also use your data for specific purposes that will be outlined from time to time. This will especially happen in case of 1 to 1 interviews and testings conducted with users.

    C. Data Subjects’ Rights

    According to the GDPR, the user has also the right to obtain from the controller without undue delay the rectification of inaccurate personal data concerning him or her (Art. 16 GDPR); the right to obtain the erasure of personal data concerning him or her without undue delay in one of the situations outlined in Art. 17 GDPR; the right to obtain from the controller restriction of processing in accordance with Art. 18 GDPR; the right to data portability in accordance with Art. 20 GDPR.

    The user has further the right to object, on grounds relating to his or her particular situation, at any time to processing of personal data concerning him or her which is necessary for the purposes of the legitimate interests pursued by the controller or by a third party (Art. 21 GDPR).

    Please consider that data committed to blockchains cannot be altered or eliminated. If you want to know more about the potential application of GDPR provisions to public blockchains and distributed ledgers please consult the study commissioned by the European Parliament.

    In the event that you wish to exercise any of your above rights, please contact

    Mars ProtocolCoinGecko
    skewScaleskewScaleskewScale

    conduct surveys.

    Device name (e.g. iPhone 12 Pro Max);
  • Device brand;

  • Operating system and version (e.g. Windows 10);

  • Returning visitor or not;

  • The origin point of traffic (Direct link or search engine);

  • Geographic location.

  • [email protected]
    [email protected]
    [email protected]
    Leveraged Yield Farming
    Droplets farming
    LP as collateral iin the Droplet Campaign
    here

    Latest by October 1st, 2026

    Lockup / Vesting

    None, all rewards fully unlocked

    Encouraging sustained participation in lending, looping, HLS, and perps markets

    Field

    Details

    Campaign Start

    August 27th, 2025 (BTCFi products)

    Campaign End

    September 1st, 2026

    Reward Pool

    45,000,000 MARS

    Reward Source

    Mars Protocol Foundation Treasury

    Snapshots

    2 per day

    Fragment Rate

    1 Fragment per 1 USD deposited per day

    https://fragments.marsprotocol.io/

    Claim Portal Live

    Base Types
    type Addr = string
    type Decimal = string
    type Uint128 = string
    Coin Types
    interface Coin {
      amount: Uint128
      denom: string
      [k: string]: unknown
    }
    Query message
    {
        active_emissions: {
            denom: string
            kind: 'red_bank' | 'perp_vault'
        } 
    }
    Return output
    {
        data: [
            {
                  denom: string
                  emission_rate: Uint128
            },
            ...
        ]   
    }
    Query message
    {
        config: {}    
    }
    Return output
    {
        data: {
            address_provider: Addr
            epoch_duration: number
            max_whitelisted_denoms: number
            owner?: string | null
            proposed_new_owner?: string | null
            whitelist_count: number
        }
    }
    Query message
    {
        emission: {
            denom: string
            incentive_denom: string
            kind: 'red_bank' | 'perp_vault'
            timestamp: number
        } 
    }
    Return output
    {
        data: {
            emission_rate: Uint128
            epoch_start: number
        }
    }
    Query message
    {
        emissions: {
            denom: string
            incentive_denom: string
            kind: 'red_bank' | 'perp_vault'
            limit?: number | null
            start_after_timestamp?: number | null
        }
    }
    Return output
    {
        data: [
            {
                emission_rate: Uint128
                epoch_start: number
            },
            ...
        ]   
    }
    Query message
    {
        incentive_state: {
            denom: string
            incentive_denom: string
            kind: 'red_bank' | 'perp_vault'
        }
    }
    Return output
    {
        data: {
              denom: string
              incentive_denom: string
              index: Decimal
              kind: 'red_bank' | 'perp_vault'
              last_updated: number
        }
    }
    Query message
    {
        incentive_states: {
            limit?: number | null
            start_after_denom?: string | null
            start_after_incentive_denom?: string | null
            start_after_kind?: 'red_bank' | 'perp_vault' | null
        }
    }
    Return output
    {
        data: [
            {
                denom: string
                incentive_denom: string
                index: Decimal
                kind: 'red_bank' | 'perp_vault'
                last_updated: number
            },
            ...   
        ]
    }
    Query message
    {
        staked_astro_lp_position: {
            account_id: string
            lp_denom: string
        }
    }
    Return output
    {
        data: {
              lp_coin: Coin
              rewards: Coin[]
        }
    }
    Query message
    {
        staked_astro_lp_positions: {
            account_id: string
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            data: [
                {
                    lp_coin: Coin
                    rewards: Coin[]
                },
                ...
            ]
            metadata: {
                has_more: boolean
            }
        }
    }
    Query message
    {
        staked_astro_lp_rewards: {
            account_id: string
            lp_denom: string
        }
    }
    Return output
    {
        data: {
            data: [
                [string, Coin[]],
                ...
            ]
            metadata: {
                has_more: boolean
            }
        }
    }
    Query message
    {
        user_unclaimed_rewards: {
            account_id?: string | null
            limit?: number | null
            start_after_denom?: string | null
            start_after_incentive_denom?: string | null
            start_after_kind?: 'red_bank' | 'perp_vault' | null
            user: string
        }
    }
    Return output
    {
        data: Coin[]
    }
    Query message
    {
        whitelist: {}
    }
    Return output
    {
        data: [
            {
                denom: string
                min_emission_rate: Uint128
            },
            ...   
        ]
    }
    Execution message
    {
        balance_change: {
            account_id?: string | null
            denom: string
            kind: 'red_bank' | 'perp_vault'
            total_amount: Uint128
            user_addr: Addr
            user_amount: Uint128
        }
    }
    Execution message
    {
        claim_rewards: {
            account_id?: string | null
            limit?: number | null
            start_after_denom?: string | null
            start_after_incentive_denom?: string | null
            start_after_kind?: 'red_bank' | 'perp_vault' | null
        }
    }
    Execution message
    {
        claim_staked_astro_lp_rewards: {
            account_id: string
            lp_denom: string
        }    
    }
    Execution message
    {
        set_asset_incentive: {
            denom: string
            duration: number
            emission_per_second: Uint128
            incentive_denom: string
            kind: 'red_bank' | 'perp_vault'
            start_time: number
        }
    }
    Execution message
    {
        stake_astro_lp: {
            account_id: string
            lp_coin: Coin
        }
    }
    Execution message
    {
        unstake_astro_lp: {
            account_id: string
            lp_coin: ActionCoin
        }
    }
    User Reward = (Your Fragments / Total Fragments) × 45,000,000 MARS

    Mars FUD Bible

    The Mars Protocol FUD Bible aims to be a compilation of FUD (fear, uncertainty and doubt), disclaimers, disclosures, and other risk-oriented information regarding the Mars Protocol Ecosystem.

    It is intended to disclaim any legal obligations of Mars Ecosystem participants to one another and third parties and to serve as a guide to a range of potential risks, uncertainties, and adverse/negative facts that may be associated with Mars Protocol or its use or results of operation. It is highly recommended that you carefully study the Bible, go to church and say your prayers before directly or indirectly using Mars Protocol or $MARS or engaging in any other activities directly or indirectly related to the Mars Ecosystem.

    Despite the Bible’s goals of serving as the primary resource for Mars Ecosystem FUD, it might not be a comprehensive account of all relevant risks, uncertainties, adverse/negative facts and disclaimers. DYOR, caveat emptor, etc. and so forth and so on.

    Beyond the Bible, you should also be aware of and consider reviewing the following sources of information relevant to the Mars Ecosystem:

    • the Mars Protocol software code

    • all relevant legal, technical and educational content pertaining to relevant third-party ecosystems, including those relating to Mars Outposts such as Osmosis and Neutron


    Technology Risks

    No Warranties Etc.

    Mars Protocol and all other relevant technologies are being provided on an as-is basis, without representation, warranty, insurance or indemnity, and that all participation is solely at your own risk.

    Irreversibility of Transactions and Lack of Remedies and Insurance for Damages.

    Blockchain transactions are, under normal conditions, irreversible. Any tokens you deposit into Mars-related smart contracts are subject to potential risk of permanent disablement, impairment, loss or forfeiture in the event of any exploits, bugs or malfunctions of the relevant smart contracts or the underlying blockchain itself, and no remedy will be available from any person due to any damages you may suffer in connection with your participation in the Mars smart contract system or use of any of the relevant technologies.

    Experimental Technology; Technical Risks; Independent Due Diligence Required.

    The technologies and assets involved in the Mars smart contract system are highly experimental and risky, have uncertain and potentially volatile value, and should be directly evaluated by experts in blockchain technologies before use. Use them solely at your own risk. You must not rely on any articles, summaries or published code audits as an accurate description or evaluation of the Mars smart contracts, or for purposes of making any financial or other decision. Instead, you must only participate in the Mars smart contract system after thoroughly reviewing and understanding the code of the relevant smart contracts in your own independent due diligence process. Multisignature Controls Over Mars Smart Contract System Certain elements of Mars technologies can be modified or controlled by a cryptographic multisignature smart contract stored on their respective blockchains (the “Multisig”). The Multisig, in turn, is administered by natural persons who each hold a private key, a subset of which may (by signing their respective private keys to the same transaction and broadcasting that transaction to blockchain validators) instruct validators to perform Multisig operations. It is possible for the Multisig key holders, through the Multisig, to change certain parameters of the Mars smart contracts or other Mars-related technologies. This discretion of the Multisig key holders constitutes a material risk, and could enable your tokens to be adversely impacted, lost, damaged, used in unexpected ways, subjected to unexpected risks, or misappropriated. Additionally, the Multisig may be able to arbitrarily change smart contract code related to Outposts on certain other blockchains, which could enable tokens on those blockchains to be misappropriated if at least three of the Multisig key holders collude.

    Mars Multisig Specifics Mars-on-Neutron Devs Multisig Owner: Mars Protocol Foundation Key Holders: Five Mars Protocol Foundation Contributors Signature Scheme: 3-of-5 Blockchain network: Neutron Addresses: neutron1ltzuv25ltw9mkwuvvmt7e54a6ene283hfj7l0c Powers: Has various powers relating to the Mars Outpost on Osmosis (Red Bank, Credit Manager/Rovers). Can whitelist/initialize Red Bank assets, C2C contracts, Vaults, etc. (intended to follow Martian Council votes). Can upgrade/migrate all smart contracts to new smart contract code (intended to follow Martian Council votes or be used in security emergencies Mars-on-Osmosis Devs Multisig Owner: Mars Protocol Foundation Key Holders: Five Mars Protocol Foundation Contributors Signature Scheme: 3-of-5 Blockchain network: Osmosis Address: osmo14w4x949nwcrqgfe53pxs3k7x53p0gvlrq34l5n Powers: Has various powers relating to the Mars Outpost on Osmosis (Red Bank, Credit Manager/Rovers). can whitelist/initialize Red Bank assets, C2C contracts, Vaults, etc. (intended to follow Martian Council votes). Can upgrade/migrate all smart contracts to new smart contract code (intended to follow Martian Council votes or be used in security emergencies)


    Financial Risks

    Risks of Token Deposits and Locking.

    When you deposit any tokens into Mars-related smart contracts on an Outpost, you are committing such tokens to the sole and absolute control of the applicable software systems until such time as you withdraw such tokens from such smart contracts. Certain deposit mechanisms may not allow for immediate withdrawal of tokens. If a lockup period or ‘un bonding’ period or other limit on withdrawals applies, you will not be able to withdraw tokens until the applicable period expires. During the time your tokens are controlled by the applicable software system, you will lose all powers over and benefits with respect to such tokens, other than the specific uses that such code allows you to make of such tokens during the deposit period, if any. You may lose financial opportunities, or the value of your tokens may decline during such deposit periods. Depending on the exact technology and functions involved, even systems that normally allow immediate withdrawals can impose withdrawal delays or have withdrawals become unavailable, whether as a result of “liquidation events,” “illiquidity events”, “insolvency events,” “hacks,” “exploits,” or otherwise—any such events may lead to partial or total financial loss of your tokens.

    Risks of Red Bank Illiquidity Events and Insolvency Events.

    Mars Red Banks can become illiquid or insolvent.

    Tax Risks

    Choosing to receive any $MARS can have adverse tax consequences and result in financial losses net of taxes, depending on your circumstances and tax jurisdiction. Engaging in liquidity mining on Outposts or staking, or participation in the Martian Council on DAO DAO may have adverse tax consequences and result in financial losses net of taxes, depending on your circumstances.


    Risks of Mars Research, Development, Deployment, Maintenance, Etc.

    Risks of No Promised Efforts or Resources.

    The Mars Ecosystem is intended to be community-governed. After the public launch of Mars, none of the persons who created all or any part of the Mars smart contract system should be expected to have a material ongoing role in Mars research, development or promotion. Certain relevant parties may elect to undertake limited ministerial activities directly or indirectly related to Mars, such as maintaining availability of a Mars web interface, but no promise, guarantee or assurance of such ministerial efforts or any other efforts is being made, and any such efforts which do occur may be abandoned at any time, with or without advanced notice. There is no ‘Mars enterprise’, ‘Mars company’ or ‘Mars business’ and there is no capital dedicated to future Mars marketing, research, development or maintenance.

    No person or entity has promised you, or assumed any obligation to you to exert or provide financial or other support for, any efforts, capital or resources in connection with the Mars Protocol. No person or entity has promised you, or assumed any obligation to you to exert or provide financial support for, any research, development, promotion, marketing, maintenance, monitoring, or improvements relating to the Mars Protocol. There is no capital primarily, exclusively, or irrevocably set aside or committed to funding any efforts, support or resources in connection with the Mars Protocol. Any past, present or future efforts on the part of any entity or person are being conducted on a voluntary and not committed basis, and are not intended as, and must not be construed or relied upon as, a promise of continuing efforts.


    Risks of Decentralized Governance.

    Any smart contract parameter adjustments, network client updates, Outpost approvals, Vault approvals, C2C Borrower approvals or other changes required to the Mars Protocol or any instance thereof will require approval of the Martian Council, which consists of a dispersed group of $MARS token holders that may be unable or unwilling to sufficiently coordinate to produce action.


    Risks of Builder $MARS Allocations.

    Persons who contributed to the research and development of Mars Protocol have received 30% of the $MARS token supply, escrowed in a smart contract lockup.

    No such person has made any representation, promise, guarantee or assurance to you that any $MARS granted to any such person, or any funding or resources of any such person, will be held, used or spent for the benefit of the Mars community.

    Any sale or other transfer or distribution of such $MARS tokens could occur without warning. Any such transaction would increase the circulating supply of $MARS tokens. Depending on the number of $MARS sold, transferred, or distributed, the terms of sale, transfer or distribution and the prevailing market conditions, such a sale, transfer or other distribution could have a material adverse effect on the price or value of, or demand for, $MARS tokens.

    While locked in the smart contract escrow, the $MARS builder tokens will be votable within the Martian Council. Any use of such $MARS to vote in Mars governance could affect governance outcomes. It cannot be guaranteed that any such $MARS token recipients will participate in Mars governance. Any voting of $MARS builder tokens could fail to be conducted on a reasonable, good faith, diligent, or disinterested basis and may not be done in the best interests of other $MARS holders or the Mars community. Any $MARS holder could have financial interests or other interests or incentives which could outweigh their respective interests and incentives (if any) relating to Mars, and $MARS holders do not owe you fiduciary duties or other legal duties which would preclude them from following such extrinsic interests to the detriment of your interests or the interests of the Mars Ecosystem.

    $MARS holders who choose to participate in governance will be required to use their own personal independent discretion and decision-making in doing so. No entity or other person will have the right to direct, manage or control how other $MARS holders exercise their voting powers.

    As a result of the foregoing factors and the lack of any person or group of persons able to control and manage Mars, any discretionary decision-making related to Mars depends on the effectiveness of spontaneous group decision-making among participating $MARS holders. There may be disputes, differences of opinion, disagreements, conflicting incentives and a lack of coordination among or between any or all governance participants, and such circumstances may adversely affect governance results.


    Nature of Mars Documentation, Articles, Interviews, Podcasts, Tweets, Etc.

    Accounts and Who Maintains Them.

    As of the date of this publication, the following are Mars-related social media accounts and discussion channels together with an indication of who maintains them:

    Accounts exclusively maintained, moderated & published by Mars Protocol Foundation., a Cayman Islands company limited by shares:

    Accounts with a mix of maintainers, moderators and publishers:


    Informational Purposes Only; No Warranties.

    All publications, articles, blogs, tweets, messages, posts, documents, statements, analyses and information relating to the Mars Ecosystem (collectively, “Mars Content”) are intended solely for general educational purposes regarding the software systems relating to the Mars Ecosystem and not as financial, legal, accounting, investment, or other advice or services. Accessing or using the Mars Content does not create any fiduciary, service or other contractual or common law relationship between you and the persons who produce or publish the Mars.

    The Mars Content is not intended as and does not provide or create or constitute a part of any advice, representation, warranty, certification, guarantee, promise, offer, solicitation, undertaking, service, indemnity, insurance, partnership, joint venture, or enterprise, express or implied. The Mars Content is not and does not constitute a part of an offer or agreement to make any products or services available now or in the future, to maintain or update or improve any technologies or content, or to sell or buy or otherwise transact in any asset or enter into any transaction.

    The Mars Content may be inaccurate, incomplete, out-of-date, or biased. The Mars Content may utilize incorrect data and assumptions, make incorrect predictions, or fail to account for material risks. The Mars Content was not prepared by fiduciaries, has not been assessed by independent third parties and may have been prepared by persons with undisclosed material conflicts of interest.

    All use of the Mars Content and the technologies described therein is solely at your own risk. You must not rely on the Mars Content as a basis for making any financial or other decision but must instead conduct your own independent due diligence into all relevant matters or engage your own professional advisors to conduct such due diligence on your behalf.

    No Governmental/Regulatory Review or Approval.

    The Mars Content and the matters described in the Mars Content have not been reviewed, approved, endorsed, opined on, licensed or registered by or with any regulator or other entity (including governmental agencies, commissions, and self-regulatory organizations), and the authors of the Mars Content are not licensed to provide any legal, financial, accounting, investment, broker, dealer, or other advice or services.

    Uncertain Nature of Forward-Looking Statements; No Duty to Update.

    The forward-looking statements in the Mars Content are subject to numerous assumptions, risks and uncertainties, and thus the events described or predicted therein are subject to change or to fail to occur in accordance therewith. The authors of the Mars Content undertake no obligation to update, supplement or amend any statement that becomes inaccurate or incomplete after the date on which the Mars Content is first published, or to alert the public as to any such inaccuracy or incompleteness, whether such inaccuracy or incompleteness arises as a result of new information, changes in plans, unanticipated events or otherwise.

    Risks of Differences Between DeFi and TradFi

    Mars “Red Banks” Are Not Banks; No Regulations or Deposit Insurance Apply.

    Mars “Red Banks” are smart contracts and are not actually banks; use of the term “bank” is metaphorical. Deposits into the Red Bank are not insured by or through any deposit insurance scheme applicable to banks. Consumer lending laws, deposit maintenance requirements, solvency requirements and other banking regulations do not apply to Mars Red Banks.

    Metaphorical Use of Financial Terms; Lack of Legal Recourse for Funds.

    When used in connection with Mars, the terms ‘debt,’ ‘lend,’ ‘borrow,’ ‘collateral,’ ‘credit,’ ‘leverage,’ ‘bank,’ ‘borrow’, ‘yield,’ ‘invest’ and other similar terms are not meant to be interpreted literally. Rather, such terms are being used to draw rough, fuzzy-logic analogies between the heavily automated and mostly deterministic operations of a decentralized-finance smart contract system, on the one hand, and the discretionary performance of traditional finance transactions by people, on the other hand.

    For example, ‘debt’ is a legally enforceable promise from a debtor to a creditor to pay an interest rate and eventually repay the principal. Therefore, ‘debt’ cannot exist without legal agreements and cannot be enforced without courts of law. By contrast, with Mars, there are no legal agreements, promises of (re-)payment or courts of law, and therefore there are no debts, loans or other traditional finance transactions involved in using Mars.

    Instead, Mars consists of software (including embedded game-theoretic incentives and assumptions) through which people can share their tokens with other people or smart contract systems and, under normal and expected conditions and subject to various assumptions regarding the behavioral effects of incentives, probably get their tokens back eventually, plus extra tokens, most of the time or in most cases. Unlike in traditional lending, the ‘lender’s’ financial return does not depend primarily on the creditworthiness, solvency or financial skill of the ‘borrower’ or on legal nuances such as the perfection of liens or the priority of creditor claims in a bankruptcy — it depends primarily on the incentive model assumed by the software design and how reliably the software implements that model.

    Unlike a debtor, people who ‘borrow’ tokens from the Mars smart contract system are not required to, and have not promised to, pay the tokens back. Therefore, if the ‘borrowers’ never pay the tokens back, no promise has been broken, no legal agreement has been breached and the token ‘lenders’ cannot sue the ‘borrowers’ to get their tokens back. Instead, by not repaying the borrowed tokens, the token ‘borrowers’ merely demonstrate either that they lacked sufficient incentive to want to do so — for example, because their smart-contract bound ‘collateral’ was worth much less than the ‘borrowed’ tokens — or that a technical issue — such as congestion of the underlying blockchain — prevented them from doing so. Regardless, the ‘borrowers’ do not have an obligation to repay tokens when they do not want to or cannot do so, and there is no legal remedy available for damaged ‘lenders’ when insufficient incentives or technical problems result in a token shortfall.

    When Mars is used to ‘lend’ tokens to a third-party smart-contract system, the situation is even less like traditional debt: The ‘borrowing’ smart contract has not posted ‘collateral’ and could malfunction or suffer a loss that results in complete or partial failure to return the ‘borrowed’ tokens to the Mars smart contract system and its token ‘lenders’. In this case, the token ‘lenders’ could suffer loss of tokens, but they will not have a legal remedy against the ‘borrowing’ smart contract or the Mars smart contract. Smart contracts are not persons, are usually not under the full control of any person or group of persons and may be impossible to repair, debug, update, pause or reverse. You should assume that a malfunctioning, exploited or underperforming smart contract which is not under the discretionary control of a single person or entity cannot be forced (in court or otherwise) to pay the ‘borrowed’ tokens back.

    The Mars protocol incentivizes $MARS holders to provide a potential partial remedy to token ‘lenders’ when token ‘borrowers’ fail to pay their tokens back. The Mars Safety Fund can be used to partially or completely compensate Mars token ‘lenders’ who suffer shortfalls when token ‘borrowers’ fail to repay tokens or the value of ‘borrowers’’ liquidated collateral is too low. But, remember: the Mars Safety Fund, like the Mars credit protocol, is merely a smart contract, not a person or insurance company — if the Mars Safety Fund fails to provide $MARS to the damaged token ‘lenders’, or if $MARS have insufficient monetary value to compensate for such damages, there has been no breach of a legal agreement and the damaged token ‘lenders’ will not have a legal remedy.

    Any ‘rate,’ ‘APR,’ ‘APY,’ ‘yield,’ ‘interest rate,’ ‘ROI’ or other form of return stated in connection with Mars for lending, borrowing, depositing, staking or otherwise transacting in a given token, strategy or smart contract system, (the “Rate”) is denominated in terms of a specific relevant token, not in terms of U.S. Dollars or other fiat currencies. Each Rate is a forward-looking projection based on a good faith belief of how to reasonably project results over the relevant period, but such belief is subject to numerous assumptions, risks and uncertainties (including smart contract security risks and third-party actions) which could result in a materially different (lower or higher) token-denominated ‘rate,’ ‘APR,’ ‘APY,’ ‘yield,’ ‘interest rate,’ or ‘ROI.’

    Rates are not offers, promises, agreements, guarantees or undertakings on the part of any person or group of persons, but depend primarily on the results of operation of smart contracts and other autonomous or semi-autonomous systems (including third-party systems) and how third parties interact with those systems after the time of your deposit. Even if a particular projected Rate is achieved, you may still suffer a financial loss in fiat-denominated terms if the fiat-denominated value of the relevant tokens (your deposit and any tokens allocated or distributed to you pursuant to the Rate) declines during the deposit period. Projected Rates are not interest rates being paid on a debt.

    Thus, the transactions you can perform by using the Mars ‘credit protocol’, although they are superficially similar to traditional financial transactions in some ways, are in fact very different. ‘DeFi’ and ‘TradFi’ each pose their own unique set of costs, benefits, risks and protection mechanisms. Please bear this fact in mind when reading about Mars, and do not use Mars without a sufficient understanding of how doing so differs from traditional financial transactions. The only way to fully understand such factors is to have a strong understanding of the relevant technical systems and the incentive design mechanisms they embody — we strongly encourage you to review Mars’s technical documentation and code before use.


    No Investment or Lending; No Contract Rights; Absence of Counterparties.

    Your transactions utilizing the Mars smart contract are not intended to be an investment, a capital-raising transaction for an enterprise, a sale of your tokens to any person or group of persons or a purchase of $MARS from any person or group of persons. They are also not intended to be a loan, consignment or deposit of your tokens to or with, or a service provided to you by, any person or group of persons. There is no ‘transaction counterparty’ or intermediary which has the discretionary power to reverse your transactions or recover your tokens or other assets, or which has made you a promise to return or refund any disabled, impaired, lost or forfeited assets. There is also no private or governmental insurance (on the part of the creators of the Mars smart contract system, any nation-state or any other person) available to compensate you for any such losses or other adverse circumstances relating to Mars transactions.


    Lack of Governmental/Regulatory Oversight

    Mars Protocol, the Red Bank, Credit Accounts, Perps and Vaults, $MARS and all related facts and circumstances have not been reviewed, approved, endorsed or registered with any regulator or other governmental entity. The creators of the Mars Protocol who operate the Mars Protocol are not licensed by any regulator or other authority to provide any legal, financial, accounting, investment or other advice or services.

    https://app.marsprotocol.io/vaults/createMars Protocol
    Create Vault Page

    Red Bank

    The Red Bank Contract is the heart of the Mars Protocol's Money Market. It holds all assets deposited to Mars and provides the v1 market interactions through the user's wallet.

    Deployments

    Neutron:

    Osmosis:


    the Mars Protocol Docs
    the marsprotocol.io Terms of Service
    https://docs.marsprotocol.io
    https://x.com/mars_protocol
    https://blog.marsprotocol.io
    https://www.youtube.com/channel/UCKcwNg4deLUrHAX74zS0ozw
    https://forum.marsprotocol.io
    https://discord.marsprotocol.io
    https://t.me/marsprotocol
    Logo
    Types

    The types of the Incentives Contract can be found here.

    For reference on the Queries and Methods:


    Queries

    config

    Returns the Contracts configuration.

    market (outdated)

    market_v2

    markets (outdated)

    markets_v2

    scaled_debt_amount

    scaled_liquidity_amount

    underlying_debt_amount

    underlying_liquidity_amount

    user_collateral

    user_collaterals (outdated)

    user_collaterals_v2

    user_debt

    user_debts

    user_position

    user_position_liquidation_pricing


    Methods

    borrow

    deposit

    liquidate

    repay

    withdraw

    neutron1n97wnm7q6d2hrcna3rqlnyqw2we6k0l8uqvmyqq6gsml92epdu7quugyph
    osmo1c3ljch9dfw5kf52nfwpxd2zmj2ese7agnx0p9tenkrryasrle5sqf3ftpg
    Base Types
    type Decimal = string
    type Uint128 = string
    Query message
        config: {}    
    }
    Return output
    {
        data: {
            address_provider: string
            owner?: string | null
            proposed_new_owner?: string | null
        }
    }
    Query message
    {      
        market: {
            denom: string
        }
    }
    Return output
    {
        data: {
            borrow_index: Decimal
            borrow_rate: Decimal
            collateral_total_scaled: Uint128
            debt_total_scaled: Uint128
            denom: string
            indexes_last_updated: number
            interest_rate_model: {
                base: Decimal
                optimal_utilization_rate: Decimal
                slope_1: Decimal
                slope_2: Decimal
            }
            liquidity_index: Decimal
            liquidity_rate: Decimal
            reserve_factor: Decimal
        }
    }
    Query message
    {
        market_v2: {
            denom: string
        }
    }
    Return output
    {
        data: {
            borrow_index: Decimal
            borrow_rate: Decimal
            collateral_total_amount: Uint128
            collateral_total_scaled: Uint128
            debt_total_amount: Uint128
            debt_total_scaled: Uint128
            denom: string
            indexes_last_updated: number
            interest_rate_model: {
                base: Decimal
                optimal_utilization_rate: Decimal
                slope_1: Decimal
                slope_2: Decimal
            }
            liquidity_index: Decimal
            liquidity_rate: Decimal
            reserve_factor: Decimal
            utilization_rate: Decimal
        }
    }
    Query message
    {
        markets: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            data: [
                {
                    borrow_index: Decimal
                    borrow_rate: Decimal
                    collateral_total_scaled: Uint128
                    debt_total_scaled: Uint128
                    denom: string
                    indexes_last_updated: number
                    interest_rate_model: {
                        base: Decimal
                        optimal_utilization_rate: Decimal
                        slope_1: Decimal
                        slope_2: Decimal
                    }
                    liquidity_index: Decimal
                    liquidity_rate: Decimal
                    reserve_factor: Decimal
                },
                ...
            ]
        }
    }
    Query message
    {
        markets_v2: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            data: [
                {
                    borrow_index: Decimal
                    borrow_rate: Decimal
                    collateral_total_amount: Uint128
                    collateral_total_scaled: Uint128
                    debt_total_amount: Uint128
                    debt_total_scaled: Uint128
                    denom: string
                    indexes_last_updated: number
                    interest_rate_model: {
                        base: Decimal
                        optimal_utilization_rate: Decimal
                        slope_1: Decimal
                        slope_2: Decimal
                    }
                    liquidity_index: Decimal
                    liquidity_rate: Decimal
                    reserve_factor: Decimal
                },
                ...
            ]
            meta_data: {
                has_more: boolean
            }
        }
    }
    Query message
    {
        scaled_debt_amount: {
            amount: Uint128
            denom: string
        }
    }
    Return output
    {
        data: Uint123
    }
    Query message
    {
        scaled_liquidity_amount: {
            amount: Uint128
            denom: string
        }
    }
    Return output
    {
        data: Uint123
    }
    Query message
    {
        underlying_debt_amount: {
            amount_scaled: Uint128
            denom: string
        }
    }
    Return output
    {
        data: Uint123
    }
    Query message
    {
        underlying_liquidity_amount: {
            amount_scaled: Uint128
            denom: string
        }
    }
    Return output
    {
        data: Uint123
    }
    Query message
    {
        user_collateral: {
            account_id?: string | null
            denom: string
            user: string
        }
    }
    Return output
    {
        data: {
            amount: Uint128
            amount_scaled: Uint128
            denom: string
            enabled: boolean
        }
    }
    Query message
    {
        user_collaterals: {
            account_id?: string | null
            limit?: number | null
            start_after?: string | null
            user: string
        }
    }
    Return output
    {
        data: [
            {
                account_id?: string | null
                limit?: number | null
                start_after?: string | null
                user: string
            },
            ...
        ]    
    }
    Query message
    {
        user_collaterals_v2: {
            account_id?: string | null
            limit?: number | null
            start_after?: string | null
            user: string
        }
    }
    Return output
    {
        data: {
            data: [
                {
                    account_id?: string | null
                    limit?: number | null
                    start_after?: string | null
                    user: string
                },
                ...
            ]
            meta_data: {
                has_more: boolean
            }
        }
    }
    Query message
    {
        user_debt: {
            denom: string
            user: string
        }
    }
    Return output
    {
        data: {
            amount: Uint128
            amount_scaled: Uint128
            denom: string
            uncollateralized: boolean
        }
    }
    Query message
    {
        user_debts: {
            limit?: number | null
            start_after?: string | null
            user: string
        }
    }
    Return output
    {
        data: [
            {
                amount: Uint128
                amount_scaled: Uint128
                denom: string
                uncollateralized: boolean
            },
            ...
        ]
    }
    Query message
    {
        user_position: {
            account_id?: string | null
            user: string
        }
    }
    Return output
    {
        data: {
            health_status: 'not_borrowing' | {
                borrowing: {
                    liq_threshold_hf: Decimal
                    max_ltv_hf: Decimal
                }
            }
            total_collateralized_debt: Uint128
            total_enabled_collateral: Uint128
            weighted_liquidation_threshold_collateral: Uint128
            weighted_max_ltv_collateral: Uint128
        }
    }
    Query message
    {
        user_position_liquidation_pricing: {
            account_id?: string | null
            user: string
        }
    }
    Return output
    {
        data: {
            health_status: 'not_borrowing' | {
                borrowing: {
                    liq_threshold_hf: Decimal
                    max_ltv_hf: Decimal
                }
            }
            total_collateralized_debt: Uint128
            total_enabled_collateral: Uint128
            weighted_liquidation_threshold_collateral: Uint128
            weighted_max_ltv_collateral: Uint128
        }
    }
    Execution message
    {
          borrow: {
                amount: Uint128
                denom: string
                recipient?: string | null
          }
    }
    Execution message
    {
        deposit: {
            account_id?: string | null
            on_behalf_of?: string | null
        }
    }
    Execution message
    {
        liquidate: {
            collateral_denom: string
            recipient?: string | null
            user: string
        }
    }
    Execution message
    {
        repay: {
            on_behalf_of?: string | null
        }
    }
    Execution message
    {
        withdraw: {
            account_id?: string | null
            amount?: Uint128 | null
            denom: string
            liquidation_related?: boolean | null
            recipient?: string | null
        }
    }

    Params

    The Params Contract provides market, vault, and perp data. It is mandatory to whitelist and enable markets throughout the Mars Protocol ecosystem.

    Deployments

    Neutron:

    Osmosis:


    Types

    The types of the Params Contract can be found here.

    For reference on the Queries and Methods:


    Queries

    all_asset_params (outdated)

    Returns all asset params.

    all_asset_params_v2

    all_perp_params (outdated)

    all_perp_params_v2

    all_total_deposits_v2

    all_vault_configs (outdated)

    all_vault_configs_v2

    asset_params

    config

    managed_vault_config

    owner

    perp_params

    risk_manager

    total_deposit

    vault_config


    Methods

    Only the owner of the contract can call its methods. That's why they are not part of the documentation.

    neutron1x4rgd7ry23v2n49y7xdzje0743c5tgrnqrqsvwyya2h6m48tz4jqqex06x
    osmo1nlmdxt9ctql2jr47qd4fpgzg84cjswxyw6q99u4y4u4q6c2f5ksq7ysent
    Base Types
    type Addr = string
    type Decimal = string
    type Uint128 = string
    Query message
    {
        all_asset_params: {
            limit?: number | null
            start_after?: string | null
        }  
    }
    Return output
    {
        data: [
            {
                close_factor: Decimal
                credit_manager: {
                    hls?: {
                        correlations: [
                            {
                                coin: {
                                    denom: string
                                }
                            } | {
                                vault: {
                                    addr: Addr
                                }
                            },
                            ...
                        ]
                        liquidation_threshold: Decimal
                        max_loan_to_value: Decimal
                    } | null
                    whitelisted: boolean
                    withdraw_enabled: boolean
                }
                denom: string
                deposit_cap: Uint128
                liquidation_bonus: {
                    max_lb: Decimal
                    min_lb: Decimal
                    slope: Decimal
                    starting_lb: Decimal
                }
                liquidation_threshold: Decimal
                max_loan_to_value: Decimal
                protocol_liquidation_fee: Decimal
                red_bank: {
                    borrow_enabled: boolean
                    deposit_enabled: boolean
                    withdraw_enabled: boolean
                }
            },
            ...
        ]
    }
    Query message
    {
        all_asset_params_v2: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            data: [
                {
                    close_factor: Decimal
                    credit_manager: {
                        hls?: {
                            correlations: [
                                {
                                    coin: {
                                        denom: string
                                    }
                                } | {
                                    vault: {
                                        addr: Addr
                                    }
                                },
                                ...
                            ]
                            liquidation_threshold: Decimal
                            max_loan_to_value: Decimal
                        } | null
                        whitelisted: boolean
                        withdraw_enabled: boolean
                    }
                    denom: string
                    deposit_cap: Uint128
                    liquidation_bonus: {
                        max_lb: Decimal
                        min_lb: Decimal
                        slope: Decimal
                        starting_lb: Decimal
                    }
                    liquidation_threshold: Decimal
                    max_loan_to_value: Decimal
                    protocol_liquidation_fee: Decimal
                    red_bank: {
                        borrow_enabled: boolean
                        deposit_enabled: boolean
                        withdraw_enabled: boolean
                    }
                },
                ...
            ]
            metadata: {
                has_more: boolean
            }
        }
    }
    Query message
    {
        all_perp_params: {
            limit?: number | null
            start_after?: string | null
        }  
    }
    Return output
    {
        data: [
              closing_fee_rate: Decimal
              denom: string
              enabled: boolean
              liquidation_threshold: Decimal
              max_funding_velocity: Decimal
              max_loan_to_value: Decimal
              max_long_oi_value: Uint128
              max_net_oi_value: Uint128
              max_position_value?: Uint128 | null
              max_short_oi_value: Uint128
              min_position_value: Uint128
              opening_fee_rate: Decimal
              skew_scale: Uint128
        ]
    }
    Query message
    {
        all_perp_params_v2: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
              data: [
                    closing_fee_rate: Decimal
                    denom: string
                    enabled: boolean
                    liquidation_threshold: Decimal
                    max_funding_velocity: Decimal
                    max_loan_to_value: Decimal
                    max_long_oi_value: Uint128
                    max_net_oi_value: Uint128
                    max_position_value?: Uint128 | null
                    max_short_oi_value: Uint128
                    min_position_value: Uint128
                    opening_fee_rate: Decimal
                    skew_scale: Uint128
              ]
              metadata: {
                has_more: boolean
            }
        }
    }
    Query message
    {
        all_total_deposits_v2: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
          data: {
              data: [
                  {
                      amount: Uint128
                      cap: Uint128
                      denom: string
                  },
                  ...
              ]
              metadata: {
                has_more: boolean
            }
        }
    }
    Query message
    {
        all_vault_configs: {
            limit?: number | null
            start_after?: string | null
        } 
    }
    Return output
    {
        data: [
            {
                addr: Addr
                deposit_cap: Coin
                hls?: {
                    correlations: [
                        {
                            coin: {
                                denom: string
                            }
                        } | {
                            vault: {
                                addr: Addr
                            }
                        },
                        ...
                    ]
                    liquidation_threshold: Decimal
                    max_loan_to_value: Decimal
                } | null
                liquidation_threshold: Decimal
                max_loan_to_value: Decimal
                whitelisted: boolean
            },
            ...
        ]
    }
    Query message
    {
        all_vault_configs_v2: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            data: [
                {
                    addr: Addr
                    deposit_cap: Coin
                    hls?: {
                        correlations: [
                            {
                                coin: {
                                    denom: string
                                }
                            } | {
                                vault: {
                                    addr: Addr
                                }
                            },
                            ...
                        ]
                        liquidation_threshold: Decimal
                        max_loan_to_value: Decimal
                    } | null
                    liquidation_threshold: Decimal
                    max_loan_to_value: Decimal
                    whitelisted: boolean
                },
                ...
            ],
            metadata: {
                has_more: boolean
            }
        }
    }
    Query message
    {
        asset_params: {
            denom: string
        }   
    }
    Return output
    {
        data: {
            close_factor: Decimal
            credit_manager: {
                hls?: {
                    correlations: [
                        {
                            coin: {
                                denom: string
                            }
                        } | {
                            vault: {
                                addr: Addr
                            }
                        },
                        ...
                    ]
                    liquidation_threshold: Decimal
                    max_loan_to_value: Decimal
                } | null
                whitelisted: boolean
                withdraw_enabled: boolean
            }
            denom: string
            deposit_cap: Uint128
            liquidation_bonus: {
                max_lb: Decimal
                min_lb: Decimal
                slope: Decimal
                starting_lb: Decimal
            }
            liquidation_threshold: Decimal
            max_loan_to_value: Decimal
            protocol_liquidation_fee: Decimal
            red_bank: {
                borrow_enabled: boolean
                deposit_enabled: boolean
                withdraw_enabled: boolean
            }
        }
    }
    Query message
    {
        config: {}    
    }
    Return output
    {
        data: {
            address_provider: string
            max_perp_params: number
        }
    }
    Query message
    {
        managed_vault_config: {}
    }
    Return output
    {
        data: {
            code_ids: number[]
            min_creation_fee_in_uusd: number
        }
    }
    Query message
    {
        owner: {} 
    }
    Return output
    {
        data: {
            abolished: boolean
            emergency_owner?: string | null
            initialized: boolean
            owner?: string | null
            proposed?: string | null
        }
    }
    Query message
    {
        perp_params: {
            denom: string
        } 
    }
    Return output
    {
        data: {
              closing_fee_rate: Decimal
              denom: string
              enabled: boolean
              liquidation_threshold: Decimal
              max_funding_velocity: Decimal
              max_loan_to_value: Decimal
              max_long_oi_value: Uint128
              max_net_oi_value: Uint128
              max_position_value?: Uint128 | null
              max_short_oi_value: Uint128
              min_position_value: Uint128
              opening_fee_rate: Decimal
              skew_scale: Uint128
        }
    }
    Query message
    {
        risk_manager: {}  
    }
    Return output
    {
        data: {
            abolished: boolean
            emergency_owner?: string | null
            initialized: boolean
            owner?: string | null
            proposed?: string | null
        }
    }
    Query message
    {
        total_deposit: {
            denom: string
        } 
    }
    Return output
    {
        data: {
            amount: Uint128
            cap: Uint128
            denom: string
        }
    }
    Query message
    {
        vault_config: {
            address: string
        }
    }
    Return output
    {
        data: {
            addr: Addr
            deposit_cap: Coin
            hls?: {
                correlations: [
                    {
                        coin: {
                            denom: string
                        }
                    } | {
                        vault: {
                            addr: Addr
                        }
                    },
                    ...
                ]
                liquidation_threshold: Decimal
                max_loan_to_value: Decimal
            } | null
            liquidation_threshold: Decimal
            max_loan_to_value: Decimal
            whitelisted: boolean
        }
    }

    Open Interest Caps

    This section details how maximum open interest and maximum skew limits are determined through multiple risk assessment approaches to protect the vault from the counterparty risk.

    The maximum OI is determined using an ensemble of approaches, and the minimum result is taken:

    1. Extreme Price Change Approach: Potential losses over a 6-hour horizon, assuming maximum skew (skew=maxOI) and extreme price movement in the direction of the skew, should not exceed 30% of the vault's total value.

    2. Manipulation Scenario Approach: In the event of oracle price manipulation with a specific amount of capital, the maximum profit an attacker could extract (if possible) should not exceed a predetermined portion of the vault.

    3. Expert Caps: Expert-defined maximum OI caps are also applied, such as a percentage of the total market capitalization and/or total market depth.

    Extreme Price Change Approach

    Parameter Calibration Rationale

    The primary risk addressed when evaluating maximum open interest (and maximum net open interest) is the vault's counterparty risk. This refers to the net risk assumed by the vault as the counterparty to all trades. To mitigate this risk, we conservatively limit open interest through maximum skew (MaxSkew) and maximum open interest (MaxOI).

    The rationale behind calibrating MaxSkew and MaxOI is to ensure that even if a market reaches maximum skew and the price moves sharply in the direction of the skew, the potential loss to the vault remains below a predefined threshold with high probability.

    Example. With a $250k vault TVL and a $10M maximum net OI for a specific market at maximum skew, a 3% price change in the skew direction could result in a $300k unrealized profit/loss ($10M * 3%). This scenario highlights a significant bankruptcy risk for the vault when the maximum OI is substantially larger than the vault TVL.

    Maximum Open Interest (MaxOI) calibration is crucial due to our soft skew cap. This mechanism limits skew only when opening or increasing positions; closing or decreasing orders are always permitted. Consequently, skew could theoretically exceed the set limits, potentially reaching the MaxOI in a single direction under extreme conditions. We calibrate MaxOI assuming a worst-case scenario where the protocol acts as the sole counterparty for all positions. Once MaxOI is established, the Maximum Skew (MaxSkew) is defined as a fixed percentage (30%) of MaxOI.

    Note that in addition to maximum caps, several mechanisms help maintain skew within acceptable boundaries. These include velocity-based funding rates and price market impact. Specifically, when skew reaches and remains at its maximum, or continues to increase, the funding rate rises rapidly, reducing trader profitability. Conversely, both the funding rate and price incentives for reducing skew encourage arbitrageurs to take opposing positions. Typically, this inherent arbitrage activity should regulate the skew, keeping it below the maximum threshold. However, maximum caps are in place for extraordinary scenarios.

    Key Parameters

    The following parameters are used in the methodology described below:

    • Gamma : This represents the maximum potential percentage exposure for the vault. It is the upper limit for potential losses relative to the net TVL that should not be exceeded with a probability of (1 - α). A lower gamma indicates lower exposure, but reduced capital efficiency for the vault.

    • Significance Level : This is the significance level used for determining the extreme price change.

    • Risk Horizon : This is the period over which extreme price changes are calibrated. It also represents the time horizon during which the protocol could be exposed to the maximum OI level and can be interpreted as the autodeleverage horizon.

    MaxOI and MaxSkew are calculated for each market independently. This approach assumes a 0% chance that at least two markets will simultaneously experience maximum skew and extreme price changes in the direction of the skew.

    The benefit of this approach is that adding a new market does not affect the risk parameters of existing markets. However, the drawback is that it disregards the risk of simultaneous extreme conditions across multiple markets. This risk increases with the number of listed markets. To mitigate this, other parameters such as the risk horizon and gamma should be chosen conservatively. A more sophisticated model could be considered in the future to account for the probabilities of multiple markets reaching maximum skew concurrently and the correlations between their price changes.

    Notations

    • - vault TVL

    • - Unrealized PnL for all open positions for a certain market, can be either positive or negative

    • - is the vault total Debt

    • - vault current net TVL

    Potential Loss for a Single Market

    Assuming the open interest (OI) in token amounts remains constant over the period (meaning no positions are opened or closed), the unrealized profit and loss (UPnL) for a single market at time is:

    where:

    • is the th position size (positive for longs and negative for shorts)

    • is the entering price for the th position

    • is the token-denominated market skew at time

    Let's assume that all N traders entered their positions simultaneously at time using the average opening price across all positions as . Then the total unrealized PnL is:

    ,

    where is the asset price return over the horizon .

    This UPnL represents the vault potential loss coming from the price change for a period under the static skew assumption.

    MaxOI Calculation

    We consider each market to be isolated from other markets and ignore the joint probability of extreme scenarios for at least two markets. Basically, we assume that there is only one perp market.

    The maximum open interest (MaxOI) is set to ensure that potential extreme losses for the vault remain below a specific percentage ($\gamma$) of the vault's net Total Value Locked (TVL) with a certain probability. This determination is based on the following conditions:

    • The skew is at its maximum value, $K_{max,$}$

    • Extreme price movements occur in the direction of the skew

    Let assume the worst-case scenario when all open positions are on the one side of the market and the magnitude of the imbalance and one-sided open interest are the same:

    In this scenario, the protocol is effectively the sole counterparty to all positions.

    We require the following probabilistic equation to hold:

    Solving this equation yields the upper bound for the maximum OI:

    where is the extreme quantile of the asset return distribution.

    The parameter is determined using the CVaR risk metric over the chosen horizon:

    for longs:

    for shorts:

    To calculate the CVaR metric for each market, we employ a historical simulation method using the previous year's price data. For simplicity, we assume symmetrical price fluctuations and conservatively apply the same magnitude of change in both upward and downward directions:

    Key Assumptions

    • Skew is at maximum for the particular market

    • Skew is zero for all other markets or their prices are constant during the risk horizon

    • The market price changes significantly in the skew direction for a particular market

    • The price market impact is ignored for simplicity

    Input Data

    Data Item
    Description
    Source
    Period/Frequency
    Processing

    Numerical Example

    • Vault TVL = $500k

    • Vault Debt = $100k

    • Net Vault TVL

    • Extreme price change = 40%

    Deriving from the MaxOI formula:

    The potential loss associated with the MaxOI is:

    This represents 30% of the vault's total net TVL:

    Based on the historical returns of the underlying asset, there is a 1% probability that the maximum potential loss will surpass 30% of the vault's value within a given risk horizon.

    Manipulation Scenario Approach

    Parameter Calibration Rationale

    To mitigate market price manipulation risk, the maximum obtainable profit for an attacker within a specific market must be capped at a defined portion of the vault.

    Price Manipulation Factor

    Let a user manipulate the market price: making transactions of large volume the price is shifted by (e.g. for the JELLY market the price was pumped by =~400% using 63% of total market capitalization which was around $15M).

    A potential price pump/dump depends on two factors:

    • The manipulation capital: Higher capital used for manipulation can lead to a greater price pump or dump. We conservatively assume a large manipulation capital (as seen in the Mango attack, $20M).

    • The market liquidity (depth): More liquid markets require greater capital to shift the price. A precise approach would consider the depth from the specific feeds used in the Slinky price oracle for each market. This could involve using the minimum depth across all feeds, the feed with the maximum voting power, or a vote-weighted depth. However, implementing this requires knowledge of the feeds used for each market and the validators' power distribution, making it a potential future enhancement to this methodology.

    Based on a simplified method utilizing global market depth data from leading exchanges and pairs and a linear market impact model, the price manipulation factor can be determined as follows:

    Manipulation Scenario

    Position Setup:

    • Attacker opens nearly balanced long and short positions (A and B)

    • Net exposure E(A-B) is minimal, appearing neutral

    • One position is well-collateralized, the other is minimally collateralized

    • With multiple short-long positions, a user can theoretically open positions up to the maximum OI on Mars because the skew will be kept near zero

    Attack Execution:

    • Attacker triggers price jump on one of the exchanges (with thin liquidity)

    • A well-collateralized position makes substantial profit

    • Under-collateralized position gets liquidated, with losses exceeding its collateral (potentially a bad debt if not liquidated on time)

    • The vault absorbs the uncovered losses

    Considering a scenario where an attacker establishes a position with a dollar value equal to the maximum open interest (maxOI) and subsequently manipulates the price upwards, the total OI in dollar terms would surpass the maxOI limit. This condition would activate the auto-deleverage mechanism, which would close the most profitable positions. However, for the sake of conservatism, this scenario is not explicitly factored into the methodology for risk parameters estimation.

    MaxOI Calculation

    Allow a user to open a position (or a set of positions) with the maximum possible size, equal to the maximum long or short open interest. Since price manipulation strategies are typically short-term, funding payments do not have sufficient time to accumulate and are therefore excluded from consideration. The maximum profit obtainable from price manipulation in either the long or short direction is calculated as follows:

    The profit should be capped at a specific percentage of the vault's TVL (for instance, 30% or less).

    The formula above yields the maximum permissible open interest for each market.

    where

    Key Assumptions

    • A linear price impact model is used

    • Manipulation capital is fixed and doesn't depend on the market capitalization and Slinky feed

    Key Parameters

    • - manipulation capital

    • - the vault maximum percentage potential exposure

    Input Data

    Data Item
    Description
    Source
    Period/Frequency
    Processing

    Numerical Example

    Consider a JELLY market:

    • Market Cap = $20M

    • Depth (5%) = $200K

    • Manipulation capital=$16M (63% of market cap)

    The maximum open interest permitted is:

    Expert Caps

    The final model's MaxOI is subject to the following expert-defined upper limits:

    Quality Category
    Multiplier to Global Depth

    The final cap is determined as the minimum between the caps derived using Approach 1 and Approach 2 capped with the expert-based limits.

    The MaxSkew is capped at 30% of MaxOI. Final parameters are rounded to a specific power of 10 depending on number' magnitude.

    Perps

    The Perps Contract provides data for the Perpetual Futures platform. It returns all market states and is needed for the Credit Manager to be able to execute trigger orders.

    Deployments

    Neutron: Perps Market API:


    Extreme Price Change RRR: This is the extreme percentage price change of the underlying asset that is expected to occur over the risk horizon (hhh) with a high confidence level (1 - α\alphaα).

    rt+hr_{t+h}rt+h​ is the percentage price change of the underlying asset over the period [t,t+h][t, t+h][t,t+h]

  • maxOImaxOImaxOI - maximum dollar one-sided Open Interest, i.e., maximum dollar value of all open positions in one of the directions

  • KKK is the current token-denominated skew for the market, can be either positive (if the market is long-skewed) or negative (if the market is short-skewed)

  • K$K_{\$}K$​ is the current USD-denominated market skew

  • Kmax⁡K_{\max}Kmax​ is the current token-denominated maximum skew for the market

  • Closing fees are excluded for conservatism

  • Compounding funding payments accumulated over the risk horizon are excluded. Note that in accordance with the maxFundingVelocitymaxFundingVelocitymaxFundingVelocity calibration procedure, when the skew exceeds the critical level, the funding rate velocity reaches its maximum. Consequently, maintaining a position in the skew direction becomes unprofitable over time due to high accumulated funding payments. Therefore, ignoring funding is a conservative approach

  • The positions set is static. There are no arbitrageurs, and traders do not close positions to reduce the skew. No changes occur in the market (no positions are opened, closed, or liquidated); thus, the token-denominated skew remains constant during the horizon hhh (K=constK = constK=const). This represents the worst-case scenario

  • The vault TVL is static (V=constV = constV=const), meaning no liquidity inflows or outflows occur during the horizon hhh

  • Gamma γ\gammaγ = 30%

    γ=30\gamma = 30%γ=30
    α=1\alpha = 1%α=1
    h=12hh = 12hh=12h
    VVV
    UPnLUPnLUPnL
    DDD
    NV=V−DNV = V - DNV=V−D
    [t,t+h][t, t+h][t,t+h]
    t+ht+ht+h
    UPnLt+h=∑qj(pt+h−pj)=pt+h∑qj−∑qjpj=pt+hKt−∑qjpjUPnL_{t+h} = \sum q_{j}(p_{t+h} - p_{j}) = p_{t+h} \sum q_{j} - \sum q_{j} p_{j} = p_{t+h} K_{t} - \sum q_{j} p_{j}UPnLt+h​=∑qj​(pt+h​−pj​)=pt+h​∑qj​−∑qj​pj​=pt+h​Kt​−∑qj​pj​
    qjq_{j}qj​
    jjj
    pjp_{j}pj​
    jjj
    Kt=∑qjK_{t} = \sum q_{j}Kt​=∑qj​
    ttt
    ttt
    p0,t=1N∑pjp_{0,t} = \frac{1}{N} \sum p_{j}p0,t​=N1​∑pj​
    UPnLt+h=Kt⋅(pt+h−p0)=Kt⋅p0,t⋅rt+h=Kt,UPnLt+h=Kt⋅(pt+h−p0)=Kt⋅p0,t⋅rt+h=Kt,UPnLt+h=Kt⋅(pt+h−p0)=Kt⋅p0,t⋅rt+h=Kt,
    ⋅rt+hUPnLt+h=Kt⋅(pt+h−p0)=Kt⋅rt+hUPnL_{t+h} = K_{t} \cdot (p_{t+h} - p_{0}) = K_{t}⋅rt+hUPnLt+h​=Kt​⋅(pt+h​−p0​)=Kt​
    ​⋅rt+h​​⋅rt+h​​⋅rt+h​
    UPnLt+h=Kt⋅(pt+h−p0)=Kt⋅p0,t⋅rt+h=Kt,$⋅rt+hUPnL_{t+h} = K_{t} \cdot (p_{t+h} - p_{0}) = K_{t} \cdot p_{0,t} \cdot r_{t+h} = K_{t,\$} \cdot r_{t+h}UPnLt+h​=Kt​⋅(pt+h​−p0​)=Kt​⋅p0,t​⋅rt+h​=Kt,$​⋅rt+h​
    rt+hr_{t+h}rt+h​
    hhh
    [t,t+h][t, t+h][t,t+h]
    Kmax,$=maxOIK_{max,\$} = maxOIKmax,$​=maxOI
    P{UPnLt+h≥γ⋅NVt}=P{rt+h⋅maxOI≥γ⋅NVt}=αP\{UPnL_{t+h} \geq \gamma \cdot NV_{t}\} = P\{r_{t+h} \cdot maxOI \geq \gamma \cdot NV_{t}\} = \alphaP{UPnLt+h​≥γ⋅NVt​}=P{rt+h​⋅maxOI≥γ⋅NVt​}=α
    maxOI=γ⋅NVRmaxOI = \frac{\gamma \cdot NV}{R}maxOI=Rγ⋅NV​
    R=Fr−1(α,h)R = F_{r}^{-1}(\alpha, h)R=Fr−1​(α,h)
    RRR
    RL=CVaRr(1%,h)R_{L} = CVaR_{r}(1\%, h)RL​=CVaRr​(1%,h)
    RS=CVaRr(99%,h)R_{S} = CVaR_{r}(99\%, h)RS​=CVaRr​(99%,h)
    R=max⁡(∣RL∣,∣RS∣)R = \max(|R_{L}|, |R_{S}|)R=max(∣RL​∣,∣RS​∣)

    NVNVNV

    The vault dollar TVL net of the debt

    SC

    -

    -

    ppp

    Historical oracle price of the underlying asset

    Coingecko

    1h over the past 365 days

    -

    VVV
    DDD
    NV=V−D=$400kNV = V - D = \$400kNV=V−D=$400k
    RRR
    maxOI=γ⋅(V−D)R=0.3⋅$400k0.4=$300kmaxOI = \frac{\gamma \cdot (V - D)}{R} = \frac{0.3 \cdot \$400k}{0.4} = \$300kmaxOI=Rγ⋅(V−D)​=0.40.3⋅$400k​=$300k
    UPnL=R⋅maxOI=0.4⋅$300k=$120kUPnL = R \cdot maxOI = 0.4 \cdot \$300k = \$120kUPnL=R⋅maxOI=0.4⋅$300k=$120k
    UPnLV−D=$120k$400k=0.3=30%\frac{UPnL}{V - D} = \frac{\$120k}{\$400k} = 0.3 = 30\%V−DUPnL​=$400k$120k​=0.3=30%
    CCC
    β%\beta\%β%
    β\betaβ
    β\betaβ
    ±s\pm s%±s
    β=C⋅2%min⁡(Depth+s%,$,Depth−s%,$)\beta = C \cdot \frac{2\%}{\min(Depth_{+s\%,\$}, Depth_{-s\%,\$})}β=C⋅min(Depth+s%,$​,Depth−s%,$​)2%​
    MaxProfit=MaxOI⋅βMaxProfit = MaxOI \cdot \betaMaxProfit=MaxOI⋅β
    MaxOI⋅β≤γ⋅NVMaxOI \cdot \beta \leq \gamma \cdot NVMaxOI⋅β≤γ⋅NV
    MaxOI=γ⋅NVβMaxOI = \frac{\gamma \cdot NV}{\beta}MaxOI=βγ⋅NV​
    β=C⋅s%min⁡(Depths%,$,Depth−s%,$)​β = C \cdot \frac{s\%}{\min(Depth_{s\%,\$}, Depth_{-s\%,\$})}​β=C⋅min(Depths%,$​,Depth−s%,$​)s%​​
    C=$20MC = \$20MC=$20M
    γ=30%\gamma = 30\%γ=30%

    Depth±2%,$Depth_{\pm 2\%,\$}Depth±2%,$​

    ±2%\pm 2\%±2% Aggregated global market depth across leading exchanges and pairs

    Coingecko

    90-day median

    -

    NVNVNV

    The vault dollar TVL net of debt

    SC

    -

    -

    β=C⋅5%Depth±5%,$=$16M⋅0.05$0.2M=$16M⋅0.05$200K=4=400%\beta = C \cdot \frac{5\%}{Depth_{\pm 5\%,\$}} = \$16M \cdot \frac{0.05}{\$0.2M} = \$16M \cdot \frac{0.05}{\$200K} = 4 = 400\%β=C⋅Depth±5%,$​5%​=$16M⋅$0.2M0.05​=$16M⋅$200K0.05​=4=400%
    MaxOI=γ⋅Vβ=0.3⋅$500K4=$150K4=$37.5kMaxOI = \frac{\gamma \cdot V}{\beta} = \frac{0.3 \cdot \$500K}{4} = \frac{\$150K}{4} = \$37.5kMaxOI=βγ⋅V​=40.3⋅$500K​=4$150K​=$37.5k

    Very Good

    5

    Good

    5

    Medium

    3

    Bad

    3

    Very Bad

    3

    Types

    The types of the Perps Contract can be found here.

    For reference on the Queries and Methods:


    Queries

    config

    Returns the Contracts configuration.

    market

    market_accounting

    market_state

    markets

    opening_fee

    owner

    position

    position_fees

    positions

    positions_by_account

    realized_pnl_by_account_and_market

    total_accounting

    vault

    vault_position


    Methods

    close_all_positions

    deleverage

    deposit

    execute_order

    unlock

    withdraw


    Audit

    neutron1g3catxyv0fk8zzsra2mjc0v4s69a7xygdjt85t54l7ym3gv0un4q2xhaf6
    https://backend.prod.mars-dev.net/v2/perps_market?chain=neutron
    382KB
    2024-12-04 Audit Report - Mars Perps v1.0.pdf
    PDF
    Open
    Base Types
    type Decimal = string
    type Uint128 = string
    type Int128 = string
    type SignedDecimal = string
    Query message
    {
        config: {}
    }
    Return output
    {
        data: {
            address_provider: string
            base_denom: string
            cooldown_period: number
            deleverage_enabled: boolean
            max_positions: number
            max_unlocks: number
            protocol_fee_rate: Decimal
            target_vault_collateralization_ratio: Decimal
            vault_withdraw_enabled: boolean
        }
    }
    Query message
    {
        market: {
            denom: string
        }
    }
    Return output
    {
        data: {
            current_funding_rate: SignedDecimal
            denom: string
            enabled: boolean
            long_oi: Uint128
            long_oi_value: Uint128
            short_oi: Uint128
            short_oi_value: Uint128
        }
    }
    Query message
    {
        market_accounting: {
            denom: string
        }
    }
    Return output
    {
        data: {
            accounting: {
                balance: {
                    accrued_funding: Int128
                    closing_fee: Int128
                    opening_fee: Int128
                    price_pnl: Int128
                    total: Int128
                }
                cash_flow: {
                    accrued_funding: Int128
                    closing_fee: Int128
                    opening_fee: Int128
                    price_pnl: Int128
                    protocol_fee: Uint128
                }
                withdrawal_balance: {
                    accrued_funding: Int128
                    closing_fee: Int128
                    opening_fee: Int128
                    price_pnl: Int128
                    total: Int128
                }
            }
            unrealized_pnl: {
                accrued_funding: Int128
                closing_fee: Int128
                opening_fee: Int128
                pnl: Int128
                price_pnl: Int128
            }
        }
    }
    Query message
    {
        market_state: {
            denom: string
        }
    }
    Return output
    {
        data: {
            cash_flow: {
                accrued_funding: Int128
                closing_fee: Int128
                opening_fee: Int128
                price_pnl: Int128
                protocol_fee: Uint128
            }
            denom: string
            enabled: boolean
            funding: {
                last_funding_accrued_per_unit_in_base_denom: SignedDecimal
                last_funding_rate: SignedDecimal
                max_funding_velocity: Decimal
                skew_scale: Uint128
            }
            last_updated: number
            long_oi: Uint128
            short_oi: Uint128
            total_abs_multiplied_positions: Int256
            total_entry_cost: Int128
            total_entry_funding: Int128
            total_squared_positions: Uint256
        }
    }
    Query message
    {
        markets: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            data: [
                {
                    denom: string
                    enabled: boolean
                    long_oi: Uint128
                    long_oi_value: Uint128
                    short_oi: Uint128
                    short_oi_value: Uint128
                    current_funding_rate: SignedDecimal
                },
                ...
            ]
        }
    }
    Query message
    {
        opening_fee: {
            denom: string
            size: Int128
        }    
    }
    Return output
    {
        data: {
            rate: SignedDecimal
            fee: {
                denom: string
                amount: Uint128
            }
        }
    }
    Query message
    {
        owner: {}
    }
    Return output
    {
        data: {
            abolished: boolean
            emergency_owner?: string | null
            initialized: boolean
            owner?: string | null
            proposed?: string | null
        }
    }
    Query message
    {
        position: {
            account_id: string
            denom: string
            order_size?: Int128 | null
            reduce_only?: boolean | null
        }
    }
    Return output
    {
        data: {
            account_id: string
            position?: {
                base_denom: string
                current_exec_price: Decimal
                current_price: Decimal
                denom: string
                entry_exec_price: Decimal
                entry_price: Decimal
                realized_pnl: {
                    accrued_funding: Int128
                    closing_fee: Int128
                    opening_fee: Int128
                    pnl: Int128
                    price_pnl: Int128
                }
                size: Int128
                unrealized_pnl: {
                    accrued_funding: Int128
                    closing_fee: Int128
                    opening_fee: Int128
                    pnl: Int128
                    price_pnl: Int128
                }
            }
        }
    }
    Query message
    {
        position_fees: {
            account_id: string
            denom: string
            new_size: Int128
        }
    }
    Return output
    {
        data: {
            base_denom: string
            closing_exec_price?: Decimal | null
            closing_fee: Uint128
            opening_exec_price?: Decimal | null
            opening_fee: Uint128
        }
    }
    Query message
    {
        positions: {
            limit?: number | null
            start_after?: [string, string] | null
        }
    }
    Return output
    {
        data: [
            {
                account_id: string
                position?: {
                    base_denom: string
                    current_exec_price: Decimal
                    current_price: Decimal
                    denom: string
                    entry_exec_price: Decimal
                    entry_price: Decimal
                    realized_pnl: {
                        accrued_funding: Int128
                        closing_fee: Int128
                        opening_fee: Int128
                        pnl: Int128
                        price_pnl: Int128
                    }
                    size: Int128
                    unrealized_pnl: {
                        accrued_funding: Int128
                        closing_fee: Int128
                        opening_fee: Int128
                        pnl: Int128
                        price_pnl: Int128
                    }
                }
            },
            ...
        ]
    }
    Query message
    {
        positions_by_account: {
            account_id: string
            action?: 'default' | 'liquidation' | null
        }
    }
    Return output
    {
        data: {
            account_id: string
            positions: [
                {
                    base_denom: string
                    current_exec_price: Decimal
                    current_price: Decimal
                    denom: string
                    entry_exec_price: Decimal
                    entry_price: Decimal
                    realized_pnl: {
                        accrued_funding: Int128
                        closing_fee: Int128
                        opening_fee: Int128
                        pnl: Int128
                        price_pnl: Int128
                    }
                    size: Int128
                    unrealized_pnl: {
                        accrued_funding: Int128
                        closing_fee: Int128
                        opening_fee: Int128
                        pnl: Int128
                        price_pnl: Int128
                    }
                },
                ...
            ]
        }
    }
    Query message
    {
        realized_pnl_by_account_and_market: {
            account_id: string
            denom: string
        }
    }
    Return output
    {
        data: {
            accrued_funding: Int128
            closing_fee: Int128
            opening_fee: Int128
            pnl: Int128
            price_pnl: Int128
        }
    }
    Query message
    {
        total_accounting: {}
    }
    Return output
    {
        data: {
            accounting: {
                balance: {
                    accrued_funding: Int128
                    closing_fee: Int128
                    opening_fee: Int128
                    price_pnl: Int128
                    total: Int128
                }
                cash_flow: {
                    accrued_funding: Int128
                    closing_fee: Int128
                    opening_fee: Int128
                    price_pnl: Int128
                    protocol_fee: Uint128
                }
                withdrawal_balance: {
                    accrued_funding: Int128
                    closing_fee: Int128
                    opening_fee: Int128
                    price_pnl: Int128
                    total: Int128
                }
            }
            unrealized_pnl: {
                accrued_funding: Int128
                closing_fee: Int128
                opening_fee: Int128
                pnl: Int128
                price_pnl: Int128
            }
        }
    }
    Query message
    {
        vault: {
            action?: 'default' | 'liquidation' | null
        }
    }
    Return output
    {
        data: {
            collateralization_ratio?: Decimal | null
            share_price?: Decimal | null
            total_balance: Int128
            total_debt: Uint128
            total_liquidity: Uint128
            total_shares: Uint128
            total_unlocking_or_unlocked_amount: Uint128
            total_unlocking_or_unlocked_shares: Uint128
            total_withdrawal_balance: Uint128
        }
    }
    Query message
    {
        vault_position: {
            account_id?: string | null
            user_address: string
        }
    }
    Return output
    {
        data: {
            denom: string
            deposit: {
                  amount: Uint128
                  shares: Uint128
            }
            unlocks: [
                {
                    amount: Uint128
                    cooldown_end: number
                    created_at: number
                    shares: Uint128
                },
                ...
            ]
        }
    }
    Execution message
    {
        close_all_positions: {
            account_id: string
            action?: 'default' | 'liquidation' | null
        }
    }
    Execution message
    {
        deleverage: {
            account_id: string
            denom: string
        }
    }
    Execution message
    {
        deposit: {
            account_id?: string | null
            max_shares_receivable?: Uint128 | null
        }
    }
    Execution message
    {
        execute_order: {
            account_id: string
            denom: string
            reduce_only?: boolean | null
            size: Int128
        }
    }
    Execution message
    {
        unlock: {
            account_id?: string | null
            shares: Uint128
        }
    }
    Execution message
    {
        withdraw: {
            account_id?: string | null
            min_receive?: Uint128 | null
        }
    }

    Protocol Risk Framework

    This document describes the risk framework of the Mars Protocol, which serves two main purposes.

    1. To qualitatively assess the riskiness of protocols and assets to be added to the platform (including the Red Bank and Mars credit accounts).

    2. To determine the risk parameters for assets to be added to Mars. Initially, this framework will cover two types of assets: single asset tokens and LP tokens.

    The proposed framework enables different assets and LP tokens to be objectively compared and assessed by standardizing how risk is measured and parameters are determined. This framework will be explored in detail in the following sections. The first section will explore the qualitative assessment process to whitelist protocols and assets to be used in the Red Bank or through Mars credit accounts. The second section will describe the quantitative process to assess the riskiness of single assets. Finally, in the last section the methodology to determine the risk parameters for single assets and LP tokens is covered.

    The Mars Risk Framework is intended to be a non-binding resource to guide deliberation by Mars governance. The ultimate decision of whether to whitelist a protocol or asset rests solely in the hands of the Martian Council.

    1. DeFi Protocol and Assets Whitelisting Process

    The following criteria are suggested as an initial filter for whitelisting protocols and single assets within Mars. Assets or protocols that don’t meet the minimum requirements described below should not be incorporated into the protocol.

    Integrating a certain protocol

    Technical risk:

    Metric
    Minimum Requirements
    Ideal Requirements

    Centralization risk:

    Metric
    Minimum Requirements
    Ideal Requirements

    Note: assets and protocols controlled by unaccountable, affiliated, and/or centralized entities should not be accepted into Mars.

    Enabling assets as collateral and/or for other interactions

    Oracle risk:

    Metric
    Minimum Requirements
    Ideal Requirements

    Note: given the oracle's critical importance for the platform, assets without robust oracles should not be accepted into Mars.

    Technical risk:

    Metric
    Minimum Requirements
    Ideal Requirements

    Centralization risk:

    Metric
    Minimum Requirements
    Ideal Requirements

    Note: for bridged assets, both the bridge itself and the token should pass the minimum requirements. For LP tokens, both the DEX and the token should pass the minimum requirements. This applies to the technical and centralization risk requirements.

    2. Single Assets Scoring Methodology

    For whitelisted assets, market and liquidity risks are assessed to calculate an asset’s score, which is then used as part of the process to determine the asset’s risk parameters. In this section, we will explore how that score is calculated and how it is used within the overall risk parameters methodology.

    Risk Metrics

    The scoring methodology evaluates assets in two broad categories: market risk and liquidity risk. Market risk is related to the volatility of the asset and extreme changes in its price, whereas liquidity risk is related to the ability to liquidate the asset. Specifically, assets are scored using the following metrics:

    • Daily 95% Conditional Value-at-Risk (CVaR, 365-days): an average of the “extreme” losses in the tail of the distribution of asset returns beyond the value at risk (VaR) cutoff point defined over the past 365 days.

    • Maximum intraday drawdown (90-day): maximum price change (from high to low) in a trading day over the last 90 days.

    • Median 24hr volume (365-day, logarithm): median 24hr volume over the last 365 days.

    The following subsections describe the methodology used to score tokens in each of these metrics.

    Input Data

    The input data for the scoring methodology corresponds to the daily historical data of asset prices, trading volume, and market capitalization over the past year (365 calendar days) from the reference date. In addition, daily high-low-open-close data is used over the past 30 calendar days and +-2% depth as of the reference date. All data is sourced from Coingecko. Coingecko was used for practical reasons and this should not imply an affiliation or endorsement of the brand.

    The selection of the assets for the scoring methodology is as follows:

    1. The list of available assets is sourced from Coingecko.

    2. The top 1,000 assets by market capitalization are selected.

    3. All assets that do not have a trading history of at least 90 calendar days prior to the reference date are removed from the set.

    Scoring Methodology

    The scoring methodology consists of three steps:

    1. A score is determined for each risk metric separately.

    2. Aggregation is performed by using simple averaging of scores.

    3. Lastly, the final asset’s score is used to define the asset’s quality category.

    Let’s explore each step below.

    Step 1. Defining a score for an individual metric

    Firstly, all metrics for each asset are transformed into a score from 0 to 100 to standardize the scoring methodology and compare different assets more efficiently. For this transformation (from metric to 0-100 score), a linear scaling method (min-max normalization) is used. The normalized values represent individual metric scores assigned to each asset. The detailed procedure is the following:

    Let denote the initial value of the -th metric of the -th asset, is a normalized value of ; are the minimum and the maximum values of the -th metric over all assets.

    For positive metrics (i.e., those that increase with improving asset quality), the normalization is performed as follows:

    whereas if a metric increase has a negative effect on the final rating the formula becomes

    Using the above formulas each ith asset is described by a vector of normalized parameters

    As a result of this step, the values of all metrics are brought to the same scale in such a way that all metrics positively impact the asset quality (the closer the score to 100 the better the asset quality in regards to that metric).

    Step 2. Aggregation of metrics

    Once scores for all metrics are calculated, they are averaged to get the asset’s final score.

    Example:

    Asset
    Daily 95% CVaR
    Maximum Intraday Drawdown
    Median 24hr volume
    Median 24hr market capitalization
    Mean high-low percentage quoted spread
    Amihud's illiquidity measure

    Let asset X have the following scores:

    Then the total score is:

    Step 3. Binning

    The range of final score values is divided into sub-ranges to provide five quality categories: “very good”; “good”; “medium”; “bad”; “very bad”. The following binning procedure is applied to define the category intervals.

    The upper expectation (ceiling) for the final score is set to be 80, and the lower expectation (floor) is the 10th percentile of the distribution of score values. Assets with a final score above the ceiling are assigned a category “very good.” while those with a final score below the floor are assigned a category “very bad.”

    The intervals between ceiling and floor are defined based on the equal width binning procedure. The width of each interval is:

    where equals , is the number of categories. The corresponding interval boundaries are:

    Each asset is assigned a quality category depending on the interval in which the value of the final score falls, according to the following table:

    Quality Category
    Score

    Table 1. Bins for quality categories

    These categories are used to define the maximum allowable LTVs within each category and risk horizons for the LTV calculation methodology (see Section 3).

    The procedure for determining the final score is similar for new assets (not included in the initial data sample). Firstly, all metrics are calculated based on historical data and normalized using the minimum and maximum values previously defined from the sample (see the table 2 below). If the metric value exceeds the maximum or below the minimum, it is assumed to be equal to the maximum or minimum value, respectively. Finally, the obtained scores are averaged to get the total score.

    Metric
    Min value
    Max value

    Table 2. Min and max values used for metrics normalization

    3. Risk Parameters

    This section describes the approach to determine the risk parameters for whitelisted assets and LP tokens, namely Liquidation LTV, Maximum LTV, and Margin of Safety.

    3.1 Definitions

    • Liquidation LTV is the LTV at which a position is defined as undercollateralized and the user becomes liquidatable.

    • Maximum LTV (≤ Liquidation LTV) is the maximum LTV allowed when the user is opening or adjusting a position.

    • Margin of Safety is the difference between the Liquidation LTV and Max. LTV. It’s a safety cushion to avoid users becoming liquidatable immediately after opening a position at the maximum allowed LTV.

    The derivation of Liquidation LTV is described in Section 3.2. The approach to define Margin of Safety and corresponding Maximum LTV is provided in Section 3.3. Lastly, in Section 3.4 the methodology to determine these risk parameters for LP tokens is explored.

    3.2 Liquidation LTV for Single Asset Tokens

    Liquidation LTV is defined for each token as follows:

    where

    The haircut intends to capture the percentage potential loss of value of a given asset after it becomes liquidatable due to the following factors:

    • Market risk component – risk related to possible extreme price movements.

    • Liquidity risk component – the cost of liquidating a position following a liquidation event due to the impact of the liquidation on the market price.

    A detailed description of the calculation approach for both components is given in the following subsections. The greater the asset's market and/or liquidity risk, the higher the corresponding haircut and the lower the LTV.

    The serves to limit the LTV obtained from the historical data to ensure conservatism and depends on the token’s quality as defined in Section 2 (see Table 3 below).

    Market Risk Component

    The market risk component is an LTV adjustment defined such that the expected likelihood* of the price of the asset dropping more than the market risk component is 1%. Hence the market risk component is defined as the 99% conditional value-at-risk with a given risk horizon (average of the “extreme” returns in the left tail of the asset returns distribution, beyond the value at risk cutoff point):

    where is defined by using the historical-simulation approach, which implies that the probability distribution and corresponding tail-risk are estimated empirically from the observed price movements (percentage asset returns) over the past 365 days from the reference date.

    It’s important to highlight that this methodology only provides an estimate of extreme future price trajectories of a given asset. This estimate is based on past price performance and, as such, it should be understood as a backward-looking, fallible (though valuable) tool for predicting future prices.

    The risk horizon represents the longest period required for a position to be liquidated. It is assumed to depend on the asset category (see table 3 below) and varies from 1 to 5 days. The riskier the asset, the longer the period used to calculate relative price movements and quantify corresponding tail-risk (CVaR). Usually, liquidations within DeFi happen within 1 day. However, the minimum 1-day horizon is used to ensure conservatism as the historical simulation approach is backward-looking and may not cover all potential movements of the asset price in the future.

    Note: estimating the distribution quantile can be inaccurate for assets with short histories. To take this into account, we use quantiles for those pairs where we have price histories over the past 200-365 days, while for others (90-200 days history), we use the extreme move approach - maximum observed percentage returns over the available historical period.

    Liquidity Risk Component

    The liquidity risk adjustment is defined per asset using the -2% dollar depth aggregated over different exchanges as of the reference date. It is a cost-per-dollar-volume liquidity risk measure that is interpreted as capital in USD required to move the price by 2% down from the last traded price. The list of exchanges considered includes Uniswap, Osmosis, and top-10 exchanges according to the Coingecko ranking.

    The liquidity risk component is calculated for each token as follows:

    Here the multiplier\

    shows how much % the price will move down subject to $1 volume.

    Depth refers to the ability of the market to absorb the sale or exit of a position. A liquidator who liquidates a position of an ordinary user is not likely to impact the asset price. Selling a large block of assets though, can cause the price to fall when the asset is sold. Hence, the Swap Size is set to depend on the asset's deposit cap and is defined conservatively, assuming a medium-size transaction amount that can have a notable impact on the asset price as 1% of the deposit cap.

    The risk horizon and for each token’s category are provided in the table below:

    Table 3. Risk horizons and LTV caps per asset’s quality category

    3.3 Maximum LTV and Margin of Safety for Single Asset Tokens

    The Liquidation LTV is defined based on the with the horizon determined by the token’s quality category. The safety margin is defined as the absolute difference between the CVaR calculated at the defined horizon plus 1 day and the :

    Thus, the margin of safety is defined by the relative price drop incurred in one additional day in relation to the horizon used to determine the Liquidation LTV.

    The higher the price volatility of the token, the more the price can fall with an increase in the risk horizon by 1 day, and therefore the higher the safety margin and the lower the corresponding Maximum LTV will be.

    The following caps are applied to the margin of safety derived from the historical data depending on the token’s quality category:

    Table 4. Margin of Safety caps per token’s quality category

    The minimum margin of safety is set to be 0.005.

    The Maximum LTV is defined based on an absolute adjustment applied to the Liquidation LTV as follows:

    3.4 Risk Parameters for LP tokens

    The Liquidation LTV of LP tokens is calculated as the average of the Liquidation LTVs of the individual assets that compose the LP token, adjusted for IL risks:

    where are the Liquidation LTVs of the assets that compose the LP token (assuming a 50/50 LP token). The IL Risk Adjustment is intended to capture the additional impermanent loss risks associated with holding an LP token (vs. a 50/50 portfolio of the individual assets).

    The IL risk is defined as follows:

    where Expected .

    Assuming a 50%/50% LP token and constant product AMM, IL is calculated as follows:

    where , and are simple assets’ returns calculated over the unit of time and is the pool price. Note that the above IL formula excludes trading fees and other rewards LP token holders may accrue. This is intentional and is done to calculate a worse-case IL, which ultimately generates a more conservative LTV for the LP token.

    From the above formula, historical ILs for each pool are calculated by using the 10-day overlapping asset returns over the past 365 days.

    Then the expected IL is estimated by using the historical simulation value-at-risk approach. Based on the empirical distribution of ILs, value-at-risk measures the loss value that will not be exceeded with a probability of 95% over a 10-day risk horizon:

    The risk horizon represents the longest period needed for liquidation (the longest period over which the protocol can be exposed to the position, i.e., liquidating the LP token).

    The risk horizon is set to 10-days to ensure conservatism.

    Note: Estimating the distribution quantile can be inaccurate for assets with short histories. To take this into account, we use quantiles for those pairs where we have price history over the past 200-365 days, while for others (90-200 days history), we use the extreme move approach - maximum observed ILs over the available historical period.

    The applied IL risk adjustment allows to capture the size of the loss (risk exposure) within the chosen risk horizon and the associated probability level (the likelihood of a loss of a given magnitude (with a 5% chance of exceeding it)). Using a historical simulation method to estimate value-at-risk captures any empirical dependencies (including non-linear ones) between the two assets in the pool.

    The Margin of Safety and the Maximum LTV for LP token are defined as follows:

    where are the Margins of Safety of the assets that compose the LP token.

    4. Model Usage, Monitoring and Update

    Approaches used in this framework to define risk parameters are primarily data-driven; hence the obtained risk parameters are expected to change in response to varying market conditions. Therefore, obtained LTVs can be revised regularly (i.e. once every six months or urgently in case of severe market stress) to avoid stale risk parameters.

    When updating the model, the historical data period can also be revised to ensure that the sample covers at least one period of acute stress (e.g., May 2022).

    Additionally, the sanity of the final outputs of the model should be checked by the community such that final parameter adjustments are made when considered necessary.

    5. Disclaimers

    Please Note: The proposed risk framework is not intended as financial advice and should not be relied upon; rather, it is being made available for educational purposes as a starting point for each person’s own independent review and analysis of risks. The risk framework could fail to account for certain risks or could fail to adequately weigh the risks that it does account for. Use at your own risk. No representation, warranty, guaranty, indemnity or assumption of risk is being provided hereby. This article is subject to and qualified by the Mars Disclaimers/Disclosures.

    Appendix A. Description of risk metrics

    Amihud’s illiquidity measure

    The metric is calculated as follows:

    where is the daily asset return at day and is the daily dollar trading volume at .

    In cases where significant price changes with small trading volume exist, this ratio increases, which means that the illiquidity of the stock increases. Everything else being equal, a higher trading volume will lead to a lower Amihud illiquidity measure.

    This metric is considered a proxy for market depth liquidity measure.

    High-low percentage quoted spread

    The metric is calculated as follows:

    where is the highest daily price, is the lowest daily price, and is the mid-price. The full spread represents the cost of buying and selling the asset today. As we are only interested in the cost of selling, the cost of liquidity is only half of the spread.

    This metric represents a proxy for the bid-ask spread, widely used as a market width measure.

    No Ciritical Vulnerabilities

    No vulnerabilities have been exploited

    No vulnerabilities have been exploited

    Bug Bounty Program

    Bug Bounty program

    Bug Bounty program (min. 0.25% of TVL)

    No Ciritical Vulnerabilities

    No vulnerabilities have been exploited

    No vulnerabilities have been exploited

    Bug Bounty Program

    Bug Bounty program

    Bug Bounty program (min. 0.25% of TVL)

    Median 24hr market capitalization (7-day average, 90-days, logarithm):
    median 7-day average 24hr market capitalization over the last 90 days.
  • Average high-low percent quoted spread (30-day): daily bid-ask spread proxy (see Appendix A for details).

  • Amihud’s illiquidity measure (90-day, logarithm): daily cost-per-dollar-volume proxy (see Appendix A for details).

  • Amihud's illuquidity, log

    0.1

    31.3

    Time Since Launch

    -

    > 1 Year

    Custom Public Audit

    At least 1 custom audit made public

    Several custom audits performed by high quality auditors made public

    Recent Audit

    Audit within the last 12 months or no code changes since last audit

    Quality of Smart Contracts

    Well documented. Extensive test coverage.

    Owner* Decentralization * Owner account call privileged functions

    Multisig with majority of the signers being reputable, accountable, not otherwise affiliated with one another and incentive-aligned with relevant stakeholders

    No owner - Controlled by DAO with safe processes in place

    Admin** Decentralization ** Admin account can upgrade contracts

    Multisig with majority of the signers being reputable, accountable, not otherwise affiliated with one another and incentive-aligned with relevant stakeholders

    No admin keys - Controlled by DAO with safe processes in place

    Other permissioned addresses

    Multisig with majority of the signers being reputable, accountable, not otherwise affiliated with one another and incentive-aligned with relevant stakeholders

    No admin keys - Controlled by DAO with safe processes in place

    Oracle Risk

    Robust oracle, understood as:

    • Costly to manipulate: the oracle should be costly to manipulate given the potential profit of the attack.

    • Accurate: the price reported by the oracle should be as close as possible to the real spot price of the asset.

    • Decentralized: the methodology for determining the price is well understood and transparent. No single entity has control over the process and/or the outcome

    Time Since Launch

    -

    > 1 Year

    Custom Public Audit

    At least 1 custom audit made public

    Several custom audits performed by high quality auditors made public

    Recent Audit

    Audit within the last 12 months or no code changes since last audit

    Quality of Smart Contracts

    Well documented. Extensive test coverage.

    Owner* Decentralization * Owner account call privileged functions

    Multisig with majority of the signers being reputable, accountable, not otherwise affiliated with one another and incentive-aligned with relevant stakeholders

    No owner - Controlled by DAO with safe processes in place

    Admin** Decentralization ** Admin account can upgrade contracts

    Multisig with majority of the signers being reputable, accountable, not otherwise affiliated with one another and incentive-aligned with relevant stakeholders

    No admin keys - Controlled by DAO with safe processes in place

    Other permissioned addresses

    Multisig with majority of the signers being reputable, accountable, not otherwise affiliated with one another and incentive-aligned with relevant stakeholders

    No admin keys - Controlled by DAO with safe processes in place

    pij,i∈[M],j∈[N]p_{ij}, i \in [M], j \in [N]pij​,i∈[M],j∈[N]
    jjj
    iii
    bijb_{ij}bij​
    pijp_{ij}pij​
    pmin,j,pmax,jp_{min,j}, p_{max,j}pmin,j​,pmax,j​
    jjj
    bij=pij−pmin,jpmax,j−pmin,j×100,i∈[M], j∈[N]b_{ij} = \frac{p_{ij} - p_{\text{min},j}}{p_{\text{max},j} - p_{\text{min},j}} \times 100, \quad i \in [M],\ j \in [N]bij​=pmax,j​−pmin,j​pij​−pmin,j​​×100,i∈[M], j∈[N]
    bij=pmax,j−pijpmax,j−pmin,j×100,i∈[M], j∈[N]b_{ij} = \frac{p_{\text{max},j} - p_{ij}}{p_{\text{max},j} - p_{\text{min},j}} \times 100, \quad i \in [M],\ j \in [N]bij​=pmax,j​−pmin,j​pmax,j​−pij​​×100,i∈[M], j∈[N]
    bi=(bi1,…,biN)T,i∈[M]\mathbf{b}_{i} = (b_{i1}, \ldots, b_{iN})^T, \quad i \in [M]bi​=(bi1​,…,biN​)T,i∈[M]

    X

    90

    82

    47

    60

    70

    80

    Final Score=90+82+47+60+70+806=71.5\text{Final Score} = \frac{90 + 82 + 47 + 60 + 70 + 80}{6} = 71.5Final Score=690+82+47+60+70+80​=71.5
    Δ=ceiling−floork\Delta = \frac{\text{ceiling} - \text{floor}}{k}Δ=kceiling−floor​
    kkk
    N−2N-2N−2
    N–N –N–
    floor+Δ,floor+2Δ,…,floor+(k−1)Δ\text{floor} + \Delta,\quad \text{floor} + 2\Delta,\quad \ldots,\quad \text{floor} + (k - 1)\Deltafloor+Δ,floor+2Δ,…,floor+(k−1)Δ

    Very good

    [80; 100]

    Good

    [68; 80]

    Medium

    [56; 68]

    Bad

    [43, 56]

    Very bad

    [0; 43]

    Daily CvaR (95%), %

    -0.3

    24.4

    Median intraday drawdown

    0.3

    47.9

    Median 7-day average market cap, log $

    10,3

    26.7

    Mean high-low percentage quoted spread, %

    0.1

    9.2

    Liq. LTV=min⁡(LTVestimated,LTVcap)\text{Liq.\,LTV} = \min\left(\text{LTV}_{\text{estimated}}, \text{LTV}_{\text{cap}}\right)Liq.LTV=min(LTVestimated​,LTVcap​)
    LTVestimated=1−HaircutLTVestimated=1-HaircutLTVestimated=1−Haircut
    Haircut=Market Risk Component+Liquidity Risk Component\text{Haircut} = \text{Market Risk Component} + \text{Liquidity Risk Component}Haircut=Market Risk Component+Liquidity Risk Component
    Market Risk Component≥0,Liquidity Risk Component≥0\text{Market Risk Component} \geq 0, \quad \text{Liquidity Risk Component} \geq 0Market Risk Component≥0,Liquidity Risk Component≥0
    LTVcapLTV_{cap}LTVcap​
    Market Risk Component=−CVaR(99%,Risk Horizon)\text{Market Risk Component} = -\text{CVaR}(99\%, \text{Risk Horizon})Market Risk Component=−CVaR(99%,Risk Horizon)
    CVaR(99%,RiskHorizon)≤0CVaR(99\%, Risk Horizon) ≤ 0CVaR(99%,RiskHorizon)≤0
    Liquidity Risk Component=Swap Size $×(0.02Depth−2%)\text{Liquidity Risk Component} = \text{Swap Size } \$ \times \left( \frac{0.02}{\text{Depth}_{-2\%}} \right)Liquidity Risk Component=Swap Size $×(Depth−2%​0.02​)
    0.02Depth−2%\frac{0.02}{\text{Depth}_{-2\%}}Depth−2%​0.02​
    LTVcapLTV_{cap}LTVcap​
    CVaR(99%,horizon)CVaR(99\%, \text{horizon})CVaR(99%,horizon)
    CVaR(99%,horizon)CVaR(99\%, \text{horizon})CVaR(99%,horizon)
    Max. LTV=Liq. LTV−Margin of Safety\text{Max. LTV} = \text{Liq. LTV} - \text{Margin of Safety}Max. LTV=Liq. LTV−Margin of Safety
    Liq. LTVLP token=Avg(Liq. LTV1,Liq. LTV2)×IL Risk Adjustment\text{Liq. LTV}_{\text{LP token}} = \text{Avg}(\text{Liq. LTV}_1, \text{Liq. LTV}_2) \times \text{IL Risk Adjustment}Liq. LTVLP token​=Avg(Liq. LTV1​,Liq. LTV2​)×IL Risk Adjustment
    Liq.LTV1,Liq.LTV2Liq.LTV_{1}, Liq.LTV_{2}Liq.LTV1​,Liq.LTV2​
    ,≤,1,\leq,1,≤,1
    IL Risk Adjustment=1+Expected IL\text{IL Risk Adjustment} = 1 + \text{Expected IL}IL Risk Adjustment=1+Expected IL
    IL≤0IL \leq 0IL≤0
    IL=2⋅RR+1+1\text{IL} = 2 \cdot \frac{\sqrt{R}}{R + 1} + 1IL=2⋅R+1R​​+1
    R=P1P0=1+r1x1+r1yR = \frac{P_{1}}{P_{0}} = \frac{1 + r^x_{1}}{1 + r^y_{1}}R=P0​P1​​=1+r1y​1+r1x​​
    r1xr^x_{1}r1x​
    r1yr^y_{1}r1y​
    PiP_iPi​
    IL Risk Adjustment=1+VaR95%, 10-day(IL distribution)\text{IL Risk Adjustment} = 1 + \text{VaR}_{95\%,\,10\text{-day}}(\text{IL distribution})IL Risk Adjustment=1+VaR95%,10-day​(IL distribution)
    Margin of SafetyLP token=Avg(Margin of Safety1,Margin of Safety2)\text{Margin of Safety}_{\text{LP token}} = \text{Avg}(\text{Margin of Safety}_1, \text{Margin of Safety}_2)Margin of SafetyLP token​=Avg(Margin of Safety1​,Margin of Safety2​)
    Max. LTVLP token=Liq. LTVLP token−Margin of SafetyLP token\text{Max. LTV}_{\text{LP token}} = \text{Liq. LTV}_{\text{LP token}} - \text{Margin of Safety}_{\text{LP token}}Max. LTVLP token​=Liq. LTVLP token​−Margin of SafetyLP token​
    Margin of Safety1, Margin of Safety2Margin\ of\ Safety_{1},\ Margin\ of\ Safety_{2}Margin of Safety1​, Margin of Safety2​
    illiq=1n∑i=1n∣Ri∣Vi\text{illiq} = \frac{1}{n} \sum_{i=1}^{n} \frac{|R_i|}{V_i}illiq=n1​i=1∑n​Vi​∣Ri​∣​
    RiR_{i}Ri​
    iii
    ViV_{i}Vi​
    iii
    Spread=12⋅Phigh−PlowPmid\text{Spread} = \frac{1}{2} \cdot \frac{P_{\text{high}} - P_{\text{low}}}{P_{\text{mid}}}Spread=21​⋅Pmid​Phigh​−Plow​​
    PhighP_{\text{high}}Phigh​
    PlowP_{\text{low}}Plow​
    PmidP_{\text{mid}}Pmid​
    Phigh−PlowP_{\text{high}} - P_{\text{low}}Phigh​−Plow​

    Written with best practices. Very well documented. Extensive test coverage. Easy to read. Simple logic. Battle tested code.

    Written with best practices. Very well documented. Extensive test coverage. Easy to read. Simple logic. Battle tested code.

    Credit Manager

    The Credit Manager Contract is the centerpiece of the Mars Protocol v2. It serves as a proxy between the user, the Red Bank, the liquidation engine, and the Perps contracts.

    Deployments

    Neutron: neutron1qdzn3l4kn7gsjna2tfpg3g3mwd6kunx4p50lfya59k02846xas6qslgs3r

    Osmosis: osmo1f2m24wktq0sw3c0lexlg7fv4kngwyttvzws3a3r3al9ld2s2pvds87jqvf


    Types

    The types of the Credit Manager Contract can be found .

    For reference on the Queries and Methods:


    Conditions

    Conditions are used to create triggers for trigger orders. They are referenced as the Condition type in the Methods below.

    health_factor

    oracle_price

    relative_price


    Actions

    A central part of the Credit Manager are the Actions. Actions can be combined into powerful sequences by lining them up in an array (they will be executed in a top to down maner). They are referenced via the Action type in the Methods below.

    borrow

    claim_astro_lp_rewards

    claim_rewards

    create_trigger_order

    delete_trigger_order

    deposit

    deposit_to_perp_vault

    enter_vault

    execute_perp_order

    exit_vault

    exit_vault_unlocked

    lend

    liquidate

    provide_liquidity

    reclaim

    refund_all_coin_balances

    repay

    request_vault_unlock

    stake_astro_lp

    swap_exact_in

    unlock_from_perp_vault

    unstake_astro_lp

    withdraw

    withdraw_from_perp_vault

    withdraw_liquidity

    withdraw_to_wallet


    Queries

    account_kind

    Returns the AccountKind of a specific account_id.

    accounts

    all_account_trigger_orders

    all_coin_balances

    all_debt_shares

    all_total_debt_shares

    all_trigger_orders

    all_vault_positions

    all_vault_utilizations

    config

    estimate_provide_liquidity

    estimate_withdraw_liquidity

    positions

    total_debt_shares

    vault_bindings

    vault_position_value

    vault_utilization

    Methods

    create_credit_account

    execute_trigger_order

    repay_from_wallet

    update_balances_after_deleverage

    update_credit_account

    Terms of Service

    Mars Protocol's Terms of Service

    ATTENTION: USE OF THE CREDIT PROTOCOL FUNCTIONS OF THE SITE BY PERSONS WHO ARE CURRENTLY OR ORDINARILY LOCATED OR RESIDENT IN THE UNITED STATES IS STRICTLY PROHIBITED, REGARDLESS OF THE USER’S IP ADDRESS. UTILIZING A VIRTUAL PRIVATE NETWORK OR OTHER METHOD TO CONCEAL A USER’S UNITED STATES RESIDENCE IS ALSO STRICTLY PROHIBITED AND MAY RESULT IN PERMANENT BLOCKING OF USE OF THE SITE IN CONNECTION WITH BLOCKCHAIN ADDRESSES SUSPECTED OF BEING TIED TO A UNITED STATES RESIDENCE.

    Date of Initial Publication: February 21, 2022

    Last Updated: January 18, 2023

    These terms and conditions (these “Terms” ) constitute a binding legal agreement between each individual, entity, group or association who views, interacts, links to or otherwise uses or derives any benefit from the Site (as defined below) ( “Users” ) and Mars Protocol Foundation, a Cayman Islands company limited by shares (the owner/operator of the Site) (collectively with its successors and assigns, the “Site Operator” ).

    Please contact us at for any questions or issues.

    here
    Base Types
    type AccountKind =
      | ('default' | 'high_levered_strategy')
      | {
          fund_manager: {
            vault_addr: string
          }
        }
    type ActionKind = 'default' | 'liquidation'
    type Expiration =
      | {
          at_height: number
        }
      | {
          at_time: Timestamp
        }
      | {
          never: {}
        }
    type HealthState =
      | 'healthy'
      | {
          unhealthy: {
            max_ltv_health_factor: Decimal
          }
        }
    type Int128 = string    
    type Uint128 = string
    Coin Types
    interface Coin {
      amount: Uint128
      denom: string
      [k: string]: unknown
    }
    
    interface ActionCoin {
      amount: 'account_balance' | { exact: Uint128 }
      denom: string
    }
    {
        health_factor: {
            comparison: 'greater_than' | 'less_than'
            threshold: Decimal
        }
    }
    {
        oracle_price: {
            comparison: 'greater_than' | 'less_than'
            denom: string
            price: Decimal
        }
    }
    {
        relative_price: {
            base_price_denom: string
            comparison: 'greater_than' | 'less_than'
            price: Decimal
            quote_price_denom: string
        }
    }
    {
        borrow: Coin
    }
    {
        claim_astro_lp_rewards: {
            lp_denom: string
        }
    }
    {
        claim_rewards: {}
    }
    {
        create_trigger_order: {
            actions: Action[]
            conditions: Condition[]
            keeper_fee: Coin
        }
    }
    {
        delete_trigger_order: {
            trigger_order_id: string
        }
    }
    {
        deposit: Coin
    }
    {
        deposit_to_perp_vault: {
            coin: ActionCoin
            max_receivable_shares?: Uint128 | null
        }
    }
    {
        enter_vault: {
            coin: ActionCoin
            vault: string
        }
    }
    {
        execute_perp_order: {
            denom: string
            order_size: Int128
            reduce_only?: boolean | null
        }
    }
    {
        exit_vault: {
            amount: Uint128
            vault: string
        }
    }
    {
        exit_vault_unlocked: {
            id: number
            vault: VaultBaseForString
        }
    }
    {
        lend: ActionCoin
    }
    {
        debt_coin: Coin
        liquidatee_account_id: string
        request: {
            deposit: string
        } | {
            lend: string
        } | {
            vault: {
              position_type: 'u_n_l_o_c_k_e_d' | 'l_o_c_k_e_d' | 'u_n_l_o_c_k_i_n_g'
              request_vault: string
            }
        } | {
            staked_astro_lp: string
        }
    }
    {
        provide_liquidity: {
            coins_in: ActionCoin[]
            lp_token_out: string
            slippage: Decimal
        }
    }
    {
        reclaim: ActionCoin
    }
    {
        refund_all_coin_balances: {}
    }
    {
        repay: {
            coin: ActionCoin
            recipient_account_id?: string | null
        }
    }
    {
        request_vault_unlock: {
            amount: Uint128
            vault: string
        }
    }
    {
        stake_astro_lp: {
            lp_token: ActionCoin
        }
    }
    swap_exact_in: {
        coin_in: ActionCoin
        denom_out: string
        min_receive: Uint128
        route?: {
            astro: {
                swaps: [
                    {
                        from: string
                        to: string
                    },
                    ...
                ]
            }
        }
        | {
            osmo: {
                swaps: [
                    {
                        pool_id: number
                        to: string
                    },
                    ...
                ]
            }
        } | null
    }
    {
        unlock_from_perp_vault: {
            shares: Uint128
        }
    }
    {
        unstake_astro_lp: {
            lp_token: ActionCoin
        }
    }
    {
        withdraw: ActionCoin
    }
    {
        withdraw_from_perp_vault: {
            min_receive?: Uint128 | null
        }
    }
    {
        withdraw_liquidity: {
            lp_token: ActionCoin
            slippage: Decimal
        }
    }
    {
        withdraw_to_wallet: {
            coin: ActionCoin
            recipient: string
        }
    }
    Query message
    {
        account_kind: {
            account_id: string
        }
    }
    Return output
    {
        data: AccountKind
    }
    Query message
    {
        accounts: {
            limit?: number | null
            owner: string
            start_after?: string | null
        }  
    }
    Return output
    {
        data: [
            {
                id: string
                kind: AccountKind
            },
            ...
        ]
    }
    Query message
    {
        all_account_trigger_orders: {
            account_id: string
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            data: [
                {
                    account_id: string
                    order: {
                        actions: Action[]
                        conditions: Condition[]
                        keeper_fee: Coin
                        order_id: string
                    }
                },
                ...
            ]
            metadata: {
                has_more: boolean
            }
        }
    }
    
    Query message
    {
        all_coin_balances: {
            limit?: number | null
            start_after?: [string, string] | null
        }    
    }
    Return output
    {
        data: [
            {
                account_id: string
                amount: Uint128
                denom: string
            },
            ...
        ]
    }
    Query message
    {
        all_debt_shares: {
            limit?: number | null
            start_after?: [string, string] | null
        }    
    }
    Return output
    {
        data: [
            {
                account_id: string
                shares: Uint128
                denom: string
            },
            ...
        ]
    }
    Query message
    {
        all_total_debt_shares: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: [
            {
                shares: Uint128
                denom: string
            },
            ...
        ]
    }
    Query message
    {
        all_trigger_orders: {
            limit?: number | null
            start_after?: [string, string] | null
        }
    }
    Return output
    {
        data: {
            data: [
                {
                    account_id: string
                    order: {
                        actions: Action[]
                        conditions: Condition[]
                        keeper_fee: Coin
                        order_id: string
                    }
                },
                ...
            ]
            metadata: {
                has_more: boolean
            }
        }
    }
    Query message
    {
        all_vault_positions: {
            limit?: number | null
            start_after?: [string, string] | null
        }
    }
    Return output
    {    
        data: [
            {
                account_id: string
                position: {
                    vault_position: {
                        amount: {
                            unlocked: string
                        } | {
                            locking: {
                                locked: string
                                unlocking: [
                                    {
                                        coin: Coin
                                        id: number
                                    },
                                ...
                                ]
                            }
                        }
                        vault: string
                    }
                }
            },
            ...
        ]
    }
    Query message
    {
        all_vault_utilizations: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            data: [
                {
                    utilization: Coin
                    vault: string
                },
                ...
            ]
            metadata: {
                has_more: boolean
            }
        }
    }
    Query message
    {
        config: {}    
    }
    Return output
    {
        data: {
            account_nft?: string | null
            health_contract: string
            incentives: string
            keeper_fee_config: {
                min_fee: Coin
            }
            max_slippage: Decimal
            max_unlocking_positions: Uint128
            oracle: string
            ownership: {
                abolished: boolean
                emergency_owner?: string | null
                initialized: boolean
                owner?: string | null
                proposed?: string | null
            }
            params: string
            perps: string
            perps_liquidation_bonus_ratio: Decimal
            red_bank: string
            rewards_collector?: {
              account_id: string
              address: string
            } | null
            swapper: string
            zapper: string
        }
    }
    Query message
    {
        estimate_provide_liquidity: {
            coins_in: Coin[]
            lp_token_out: string
        }
    }
    Return output
    {
        data: Uint128
    }
    Query message
    {
        estimate_withdraw_liquidity: {
            lp_token: Coin
        }
    }
    Return output
    {
        data: Coin[]
    }
    Query message
    {
        positions: {
            account_id: string
            action?: ActionKind | null
        }
    }
    Return output
    {
        data: {
            account_id: string
            account_kind: AccountKind
            debts: [
                {
                    amount: Uint128
                    denom: string
                    shares: Uint128
                },
                ...
            ]
            deposits: Coin[]
            lends: Coin[]
            perps: [
                {
                    base_denom: string
                    current_exec_price: Decimal
                    current_price: Decimal
                    denom: string
                    entry_exec_price: Decimal
                    entry_price: Decimal
                    realized_pnl: {
                        accrued_funding: Int128
                        closing_fee: Int128
                        opening_fee: Int128
                        pnl: Int128
                        price_pnl: Int128
                    }
                    size: Int128
                    unrealized_pnl: {
                        accrued_funding: Int128
                        closing_fee: Int128
                        opening_fee: Int128
                        pnl: Int128
                        price_pnl: Int128
                    }
                },
                ...
            ]
            staked_astro_lps: Coin[]
            vaults: [
                {
                    amount: {
                        unlocked: string
                    } | {
                        locking: {
                            locked: string
                            unlocking: [
                                {
                                    coin: Coin
                                    id: number
                                },
                            ...
                            ]
                        }
                    }
                    vault: string
                },
                ...
            ]
        }
    }
    Query message
    {
        total_debt_shares: string
    }
    Return output
    {
        data: {
            shares: Uint128
            denom: string
        }
    }
    Query message
    {
        vault_bindings: {
            limit?: number | null
            start_after?: string | null
        }
    }
    Return output
    {
        data: {
            data: [
                {
                    account_id: string
                    vault_address: string
                },
                ...
            ]
            metadata: {
                has_more: boolean
            }
        }
    }
    Query message
    {
        vault_position_value: {
            vault_position: {
                amount: {
                    unlocked: string
                } | {
                    locking: {
                        locked: string
                        unlocking: [
                            {
                                coin: Coin
                                id: number
                            },
                        ...
                        ]
                    }
                }
                vault: string
            }
        }
    }
    Return output
    {
        data: {
            base_coin: {
                amount: Uint128
                denom: string
                value: Uint128
            }
            vault_coin: {
                amount: Uint128
                denom: string
                value: Uint128
            }
        }
    }
    Query message
    {
        vault_utilization: {
            vault: string
        }
    }
    Return output
    {
        data: {
              utilization: Coin
              vault: string
        }
    }
    Execution message
    {
        create_credit_account: AccountKind
    }
    Execution message
    {
        execute_trigger_order: {
            account_id: string
            trigger_order_id: string
        }
    }
    Execution message
    {
        repay_from_wallet: {
            account_id: string
        }
    }
    Execution message
    {
        update_balance_after_deleverage: {
            account_id: string
            pnl:  'break_even' | { 
                profit: Coin
            } | {
                loss: Coin
            }
        }
    }
    Execution message
    {
        update_credit_account: {
            account_id?: string | null
            account_kind?: AccountKind | null
            actions: Action[]
        }
    }
    Summary

    Among other things, the Terms and Conditions provide that you must:

    • be at least eighteen years of age, of sound mental capacity and have all technical knowledge necessary or advisable to understand and evaluate the risks of the Site and Mars;

    • agree that the Site is provided for informational purposes only and is not directly or indirectly in control of or capable of interacting with Mars Hub, Mars Outposts and related blockchain systems or performing or effecting any transactions on your behalf;

    • agree that the Site is only being provided as an aid to your own independent research and evaluation of Mars and that no representation or warranty is being made as to the accuracy or completeness of information on the Site;

    • agree that the ability of the Site to connect with third-party wallet applications or devices is not an endorsement or recommendation thereof by or on behalf of the Site Operator, and you must assume all responsibility for selecting and evaluating and incurring the risks of any bugs, defects, malfunctions or interruptions of any third-party wallet applications or devices you directly or indirectly use in connection with the Site;

    • comply with all applicable laws, rules and regulations;

    • not be currently or ordinarily located or resident in (or incorporated or organized in) the United States or who is subject to national or international sanctions under the laws of the British Virgin Islands, United Kingdom or other applicable law;

    • not hold the Site Operator or any of its representatives or affiliates liable for any damages you suffer in connection with your use of the Site or Mars;

    • waive your right to initiate or participate in class actions relating to the Site; and

    • resolve any disputes regarding the Site pursuant to binding, confidential arbitration and waive your right

    • to a jury trial in connection with such disputes.

    The above is only a partial summary. You should read the Terms and Conditions in their entirety. In the event of any conflict or consistency on between this summary and the Terms and Conditions relating to any issue, the Terms and Conditions will be determinative of the issue.


    Binding Provisions

    1. Site overview

    1.1 About the Site

    The Site aggregates and publishes publicly available third-party information about:

    • the Mars Hub

    • Mars Outposts

    • the Mars Smart Contract Protocol;

    • the Mars Smart Contract System;

    • tokens that exist and have been or may be made available for withdrawal or “borrowing” by third parties known as “lenders” or “depositors” in connection with the Mars Smart Contract System;

    • third-party smart contract systems that act as ‘borrowers’ in contract-to-contract (C2C) transactions of the Mart Smart Contract System

    • the implied or express fair market prices of tokens, which may be denominated in terms of other tokens; transaction records relating to the Mars Smart Contract System.

    The Site also offers interaction methods whereby the User can indicate a transaction the User would like to perform in connection with the Mars Smart Contract System (such as swapping one token for another).

    When used in this way, the Site can generate a draft transaction message which the User can independently use in conjunction with a third-party wallet application or device to conduct transactions on Mars Hub or Mars Outposts.

    1.2 About Mars

    The Mars Smart Contract Protocol is software source code freely licensed to the public, which provides a decentralized “credit” protocol through which tokens can be ‘loaned’ and ‘borrowed’, as well as a governance protocol which can govern deployed instances of such protocol. The Mars Smart Contract System is a copy of the Mars Smart Contract Protocol that has been compiled to bytecode and permanently associated with one or more specific public addresses on Mars Hub and Mars Outposts. Through a compatible third-party wallet application or device, Mars Hub Core Node or node compatible with a Mars Outpost, as applicable, any User may pay Mars Hub Validators or other validators on the appropriate blockchain system to operate and record the results of the Mars Smart Contract System in accordance with the User’s instructions, thus effectuating token transactions.

    1.3 Relationship to Mars Smart Contract System

    The Site Operator does not own, operate or control Mars Hub, Mars Outposts or the Mars Smart Contract System. Using Mars Outposts, Mars Hub, or the Mars Smart Contract System does not require use of the Site. The Site aggregates and publishes publicly available information about the Mars Smart Contract System in a user- friendly and convenient format. Such information is also independently available from other sources—for example, a person may directly review Mars transaction history, account balances and the Mars Smart Contract System on a compatible block explorer for a Mars Outpost.

    By combining publicly available information with the User’s interactions with the Site, the Site can draft standard transaction messages compatible with the Mars Smart Contract System which are designed to accomplish the User’s operational goals as expressed through the interactions. If the User so wishes, the User may broadcast such messages to Terra in order to initiate token transactions.

    All draft transaction messages are delivered by the Site via API to a compatible third-party wallet application or device selected by the User after pressing the “Connect Wallet” (or similar) button on the Site. The User must personally review and authorize all transaction messages that the User wishes to send to Mars Hub, Mars Outposts or other blockchain systems; this requires the User to sign the relevant transaction message with a private cryptographic key inaccessible to the Site. The User-authorized message will then be broadcast to Validators through the wallet application or device and the User may pay a network fee to have the Validators apply the transaction message to the Mars Smart Contract System and record the results on the appropriate blockchain—resulting in a token transaction being completed on that blockchain.

    The Site Operator and the Site are not agents or intermediaries of the User, do not store or have access to or control over any tokens, private keys, passwords, accounts or other property of the User, and are not capable of performing transactions or sending transaction messages on behalf of the User. The Site does not hold and cannot purchase, sell or trade any tokens. All transactions relating to the Mars Smart Contract System are effected and recorded solely through the interactions of the User with the respective Validators, who are not under the control of or affiliated with the Site Operator or the Site.

    1.4 Disclaimers and Disclosures

    Important disclaimers and disclosures regarding the subject material of the Site can be found on the Mars Disclaimers/Disclosures article on Medium. You should familiarize yourself with these disclaimers and disclosures and conduct your own thorough due diligence into the Mars Smart Contract Protocol and Mars Smart Contract System before using the Site.

    1.5 Defined Terms

    • “$MARS” means the Blockchain Tokens native to Mars Hub and the bonding, staking or delegation of which determines which Mars Hub Core Nodes have the ability to propose and validate new blocks on the Mars Hub blockchain.

    • “Mars Core Nodes” means, at each time, the internet-connected computers then running unaltered and correctly configured instances of the most up-to-date production release of Mars Hub client software (the reference implementation of the Mars Protocol at https://github.com/mars-protocol/hub).

    • “Mars Hub” means, at each time, the canonical blockchain and virtual machine environment of the Mars Hub ‘mainnet’, as recognized by at least a majority of the Mars Hub Validators then being operated in good faith in the ordinary course of the network. As of the date of these Terms, the Mars Hub mainnet is the network associated with ChainID ‘mars-1’.

    • “Mars Hub Validators” means, at each time, the Mars Core Nodes included in the active validator set for Mars Hub at such time. As of the date of these Terms, the Mars Hub Validators are the top 50 Mars Core Nodes eligible for the validator set (ranked by number of $MARS staked) (or if there are less than 50 Mars Hub Validators, such lesser number of Mars Hub Validators).

    • “Mars Outposts” means runtime instances of the Mars Protocol, or any part thereof, deployed to a blockchain system and approved or governed in whole or in part by the Martian Council.

    • “Mars Protocol” means the software code at https://github.com/mars-protocol/ or any successor thereto expressly determined by the Martian Council to constitute or form a part of the “Mars Protocol”.

    • “Mars Smart Contract Protocol” means the source code at https://github.com/mars-protocol/.

    • “Mars Smart Contract System” means all blockchain-based runtime bytecodes (aka “smart contracts”) deployed to Mars Outposts, and includes, without limitation, the runtime bytecodes deployed to the Osmosis blockchain network.

    • “Martian Council” means at each time, all persons holding $MARS that is staked with or delegated or bonded to Mars Hub Core Nodes in the active validator set for Mars Hub at such time and has the power to vote such $MARS on governance proposals in accordance with the Mars Protocol.

    • “Site” means the web site, web pages, web applications and information and software available at or accessible through the URLs , or any sub-URL of any such URL and any other Mars-related website or web application maintained by the Site Operator.

    2. Site Operator Discretion; Certain Risks of the Site

    Each User hereby acknowledges and agrees and consents to, and assumes the risks of, the matters described in this Section 2.

    2.1 Content

    Site Operator makes no representations or warranties as to the quality, origin, or ownership of any content found on or available through the Site. Site Operator shall not be liable for any errors, misrepresentations, or omissions in, of, and about, the content, nor for the availability of the content. Site Operator shall not be liable for any losses, injuries, or damages from the purchase, inability to purchase, display, or use of content.

    2.2 Token Lists and Token Identification

    In providing information about tokens, the Site associates or presumes the association of a token name, symbol or logo with a specific smart contract deployed to one or more blockchain systems. In making such associations, the Site relies upon third-party resources which may not be accurate or may not conform to a given User’s expectations. Multiple smart contracts can utilize the same token name or token symbol as one another, meaning that the name or symbol of a token does not guarantee that it is the token desired by the User or generally associated with such name or symbol. Users must not rely on the name, symbol or branding of a token on the Site, but instead must examine the specific smart contract associated with the name, symbol or branding and confirm that the token accords with User’s expectations.

    2.3 User Responsibility for Accounts & Security

    Users are solely responsible for all matters relating to their accounts, addresses and tokens and for ensuring that all uses thereof comply fully with these Terms. Users are solely responsible for protecting the data integrity and confidentiality of their login information and passwords or private keys for the Site or any wallet applications or devices used in connection with the Site. The compatibility of the Site with wallet applications and devices or other third-party applications or devices is not intended as, and you hereby agree not to construe such compatibility as, an endorsement or recommendation thereof or a warranty, guarantee, promise or assurance regarding the fitness or security thereof.

    2.4 No Site Fees; Third-Party Fees Irreversible

    There are no fees or charges for use of the Site. Use of the Mars Smart Contract System and use of Mars Hub and Mars Outposts are subject to third-party transaction fees. The Site Operator does not receive such fees and has no ability to reverse or refund any amounts paid in error.

    2.5 Site Operator Has No Business Plan and May Discontinue, Limit, Terminate or Refuse Support for the Site or any Smart Contracts, Tokens or Pools

    The Site is a free web application operated and maintained in the sole and absolute discretion of the Site Operator. The Site Operator assumes no duties, liabilities, obligations or undertakings to continue operating or maintaining the availability of the Site and may terminate or change the Site in any or all respects at any time. The Site Operator has no business plan or revenue model for the Site. The Site Operator does not have revenues or a viable long-term business plan or capital-raising plan, and may become unable or unwilling to fund the operational costs of the Site on a long-term basis or to fund the upgrade costs required to keep the Site up to date with current technologies.

    The Site Operator has no obligation to ensure that the Site is a complete and accurate source of all information relating to the Mars Smart Contract System, Mars Hub, Mars Outposts or any other subject matter. The Site does not necessarily display all tokens that are available for trading in connection with the Mars Smart Contract System or Mars Hub or Mars Outposts. Even if the Site currently displays a particular token or token pair, the Site may discontinue tracking and publishing information about that token or token pair at any time, in the Site Operator’s sole and absolute discretion. In the event of such a discontinuation, Users may need to rely on third-party resources such as block explorers or Mars Core Nodes in order to get equivalent information, and, depending on the User’s level of expertise and the quality of such third-party resources, this may result in the User incurring financial losses due to delays or mistakes in processing information or transactions.

    The Mars Smart Contract Protocol is available under a free open-source license, and the Site Operator does not have proprietary or exclusive rights in the Mars Smart Contract Protocol. It is possible that additional copies of the Mars Smart Contract Protocol or derivatives thereof will be deployed to Mars Outposts or other blockchain systems in the future by any person, resulting in the existence of multiple ‘Mars-branded’ smart contract systems. The Site Operator is under no obligation to publish information for all such copies of the Mars Smart Contract Protocol or to warn Users regarding the existence of such alternatives.

    2.6 Site Operator May Deny or Limit Access on a Targeted Basis

    The Site Operator reserves the right to terminate or limit any person’s User status or access to or use of the Site at any time, without or without notice, as determined in the Site Operator’s sole and absolute discretion. Such terminations and limitations may be based on any factor or combination of factors, including a person’s identity, blockchain address, IP address, internet service provider, virtual provider network provider, metadata, browser software, device type, wallet application, wallet device, region of citizenship or residence or current location, or suspicion that User has engaged or intends to engage in any Prohibited Use.

    2.7 Site Operator May Cooperate with Investigations and Disclose Information

    The Site Operator reserves the right at all times to cooperate with any governmental or law enforcement investigation or to disclose any information it deems necessary to satisfy any applicable law, regulation, legal process or governmental request, or to edit, refuse to post or to remove any information or materials, in whole or in part, based on any applicable law, regulation, legal process or governmental request, in the Site Operator’s sole and absolute discretion.

    2.8 No Regulatory Supervision

    The Site Operator and the Site are not registered or qualified with or licensed by, do not report to and are not under the active supervision of any government agency or financial regulatory authority or organization. No government or regulator has approved or consulted with the Site Operator regarding the accuracy or completeness of any information available on the Site. Similarly, the technology, systems, tokens and persons relevant to information published on the Site may not be registered with or under the active supervision of or be registered or qualified with or licensed by any government agency or financial regulatory authority or organization. The Site Operator is not registered as a broker, dealer, advisor, transfer agent or other intermediary.

    3. Intellectual property matters

    3.1 License to Use Site

    Each User, subject to and conditioned upon such User’s eligibility under and acceptance of and adherence to these Terms, is hereby granted a personal, revocable, non-exclusive, non-transferable, non-sub- licensable license to view, access and use the Site for the Permitted Uses in accordance with these Terms.

    3.2 Site Code & License

    The software code for the Site is available at https://github.com/mars-protocol/interface and is licensed for use in connection with the Mars Smart Contract System and Mars Hub.

    3.3 Marks, Logos and Branding

    See branding policy at https://mars-protocol.medium.com/package-deployed-releasing-the-mars-brand- into- the-creative-commons-4946bc292bef.

    3.4 Privacy Policy

    The Site Operator may directly or indirectly collect and temporarily store personally identifiable information for operational purposes, including for the purpose of identifying blockchain addresses or IP addresses that may indicate use of the Site from prohibited jurisdictions or by sanctioned persons or other Prohibited Uses. Except as required by applicable law, the Site Operator will have no obligation of confidentiality with respect to any information collected by the Site.

    3.5 Mars Smart Contract Protocol

    The Mars Smart Contract Protocol will be available in various repositories at https://github.com/mars- protocol/, including https://github.com/mars-protocol/hub and https://github.com/mars-protocol/outposts, and will be freely licensed under the applicable license set forth in each such repository.

    4. Permitted & Prohibited Uses

    4.1 Permitted Uses

    The Site is available exclusively for use by technologically and financially sophisticated persons who wish to use the Site for informational purposes only as an aid to their own research, due diligence and financial decisionmaking. Before utilizing information from the Site (including any draft transaction messages) to engage in transactions, each User must independently verify the accuracy of such information (and the consistency of such draft transaction messages with the User’s intentions). The foregoing are the “Permitted Uses”.

    4.2 Prohibited Uses

    Each User must not, directly or indirectly, in connection with their use of the Site:

    • utilize the Site other than for the Permitted Uses;

    • utilize the Site at any time when any representation of User set forth in Section 5 is untrue or inaccurate;

    • rely on the Site as a basis for or a source of advice concerning any financial decisionmaking or transactions;

    • employ any device, scheme or artifice to defraud, or otherwise materially mislead, any person;

    • engage in any act, practice or course of business that operates or would operate as a fraud or deceit upon the Site Operator or any other person;

    • violate, breach or fail to comply with any applicable provision of these Terms or any other terms of service, privacy policy, trading policy or other contract governing the use of the Site;

    • engage or attempt to engage in or assist any hack of or attack on the Site or any wallet application or device, including any “sybil attack”, “DoS attack” or “griefing attack” or theft;

    • commit any violation of applicable laws, rules or regulations;

    • engage in or knowingly facilitate any “front-running,” “wash trading,” “pump and dump trading,” “ramping,” “cornering” or fraudulent, deceptive or manipulative trading activities, including:

      • trading at successively lower or higher prices for the purpose of creating or inducing a false, misleading or artificial appearance of activity, unduly or improperly influencing market prices or establishing a price which does not reflect the true state of the market;

      • trading without changes in material beneficial ownership for the purpose of creating or inducing a false or misleading appearance of trading activity or creating or inducing a false or misleading appearance with respect to market conditions; or

    • transact in securities, commodities futures, trading of commodities on a leveraged, margined or financed basis, binary options (including prediction-market transactions), real estate or real estate leases, equipment leases, debt financings, equity financings or other similar transactions, in each case, if such transactions do not comply with all laws, rules and regulations applicable to the parties and assets engaged therein;

    • engage in token-based or other financings of a business, enterprise, venture, DAO, software development project or other initiative, including ICOs, DAICOs, IEOs, or other token-based fundraising events; or

    • engage in any act, practice or course of business that operates to circumvent any sanctions or export controls targeting the User or the country or territory where User is located.

    The foregoing matters are referred to herein as “Prohibited Uses”.

    5. Representations and warranties of users

    By using the Site, each User represents and warrants to Site Operator that the following statements and information are accurate and complete at all relevant times. In the event that any such statement or information becomes untrue as to a User, User shall immediately cease accessing and using the Site.

    5.1 Adult Status; Capacity; Residence; Etc.

    If User is an individual, User is of legal age in the jurisdiction in which User resides (and in any event is older than eighteen years of age) and is of sound mind. If User is a business entity, User is duly organized, validly existing and in good standing under the laws of the jurisdiction in which it is organized, and has all requisite power and authority for a business entity of its type to carry on its business as now conducted.

    5.2 Power and Authority

    User has all requisite capacity, power and authority to accept the terms and conditions of these Terms and to carry out and perform its obligations under these Terms. These Terms constitutes a legal, valid and binding obligation of User enforceable against User in accordance with its terms.

    5.3 No Conflict; Compliance with Law

    User agreeing to these Term and using the Site does not constitute, and would not reasonably be expected to result in (with or without notice, lapse of time, or both) a breach, default, contravention or violation of any law applicable to User, or contract or agreement to which User is a party or by which User is bound.

    5.4 Absence of Sanctions

    User is not, (and, if User is an entity, User is not owned or controlled by any other person who is), and is not acting on behalf of any other person who is, located, ordinarily resident, organized, established, or domiciled in the United States or any country where use of the Mars Smart Contract System, Mars Hub, Mars Outposts or related activities is illegal, prohibited, or requires a permit or license. User is not (and, if User is an entity, User is not owned or controlled by any other person who is), and is not acting on behalf of any other person who is, identified on any list of prohibited parties under any law or by any nation or government, state or other political subdivision thereof, any entity exercising legislative, judicial or administrative functions of or pertaining to government such as the sanctions lists maintained by the United Kingdom, British Virgin Islands, United Nations Security Council, the U.S. government (including the U.S. Treasury Department’s Specially Designated Nationals list and Foreign Sanctions Evaders list), or the European Union (EU) or its member states. The tokens or other funds User uses to participate in the Mars Smart Contract System, Mars Hub or Mars Outposts are not derived from, and do not otherwise represent the proceeds of, any activities done in violation or contravention of any law.

    5.5 Non-Reliance

    User is knowledgeable, experienced and sophisticated in using and evaluating blockchain and related technologies and assets, including Mars Outposts, tokens, yield-generating smart contract systems, automated market making smart contract systems, bonding curve systems and “smart contracts” (runtime bytecode deployed to Mars Outposts or another blockchain). User has conducted its own thorough independent investigation and analysis of the Mars Smart Contract System, Mars Hub, Mars Outposts and the other matters contemplated by these Terms, and has not relied upon any information, statement, omission, representation or warranty, express or implied, written or oral, made by or on behalf of Site Operator in connection therewith, except as expressly set forth by Site Operator in these Terms.

    6. Risks, Disclaimers and Limitations of Liability

    Each User hereby acknowledges and agrees and consents to, and assumes the risks of, the matters described in this Section 6.

    6.1 No Consequential, Incidental or Punitive Damages

    Notwithstanding anything to the contrary contained on the Site, in these Terms, or in any other agreement or publication, Site Operator shall not be liable to any person, whether in contract, tort (including pursuant to any cause of action alleging negligence), warranty or otherwise, for any economic or other damages to any User or other person, including any special, incidental, consequential, indirect, punitive or exemplary damages (including but not limited to lost data, lost profits or savings, loss of business or other economic loss) arising out of or related to these Terms, whether or not Site Operator has been advised or knew of the possibility of such damages, and regardless of the nature of the cause of action or theory asserted.

    6.2 Disclaimer of Representations

    The Site is being provided on an “AS IS” and “AS AVAILABLE” basis. To the fullest extent permitted by law, Site Operator is not making, and hereby disclaims, any and all information, statements, omissions, representations and warranties, express or implied, written or oral, equitable, legal or statutory, in connection with the Site and the other matters contemplated by these Terms, including any representations or warranties of title, non-infringement, merchantability, usage, security, uptime, reliability, suitability or fitness for any particular purpose, workmanship or technical quality of any code or software used in or relating to the Site. User acknowledges and agrees that use of the Site is at the User’s own risk.

    6.3 No Responsibility for Tokens; No Guarantee of Uniqueness or IP

    Site Operator has no responsibility for the tokens traded by Users on the Mars Smart Contract System or Mars Hub or Mars Outposts. Site Operator does not investigate and cannot guarantee or warrant the authenticity, originality, uniqueness, marketability, legality or value of any token traded by Users on the Mars Smart Contract System or Mars Hub or Mars Outposts, even if information about such token is available on the Site.

    6.4 No Professional Advice or Liability

    All information provided by or on behalf of Site Operator is for informational purposes only and should not be construed as professional, accounting or legal advice. Users should not take or refrain from taking any action in reliance on any information contained in these Terms or provided by or on behalf of Site Operator. Before Users make any financial, legal, or other decisions involving the Site, Users should seek independent professional advice from persons licensed and qualified in the area for which such advice would be appropriate.

    6.5 Limited Survival Period for Claims

    Any claim or cause of action a User may have or acquire in connection with the Site or any of the other matters contemplated by these Terms shall survive for the shorter of, and may be brought against Site Operator solely prior to: (a) the expiration of the statute of limitations applicable thereto; and (b) the date that is six months after the date on which the facts and circumstances giving rise to such claim or cause of action first arose.

    6.6 Third-Party Offerings and Content

    References, links or referrals to or connections with or reliance on third-party resources, products, services or content, including smart contracts developed or operated by third parties, may be provided to Users in connection with the Site. In addition, third parties may offer promotions related to the Site. Site Operator does not endorse or assume any responsibility for any activities of or resources, products, services, content or promotions owned, controlled, operated or sponsored by third parties. If Users access any such resources, products, services or content or participate in any such promotions, Users do so solely at their own risk. Each User hereby expressly waives and releases Site Operator from all liability arising from User’s use of any such resources, products, services or content or participation in any such promotions.

    User further acknowledges and agrees that Site Operator shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such resources, products, services, content or promotions from third parties.

    6.7 Certain Uses and Risks of Blockchain Technology

    1. Use of Blockchain Technology. Site Operator or third parties may utilize experimental cryptographic technologies and blockchain technologies, including tokens, cryptocurrencies, stablecoins, “smart contracts,” consensus algorithms, voting systems and distributed, decentralized or peer-to-peer networks or systems in connection with the Site or systems about which the Site provides information. Each User acknowledges and agrees that such technologies are novel, experimental, and speculative, and that therefore there is significant uncertainty regarding the operation and effects and risks thereof and the application of existing law thereto.

    2. Certain Risks of Blockchain Technology. The technologies relevant to the Site depend on public peer-to-peer networks such as Mars Hub and the Mars Outposts that are not under the control or influence of Site Operator and are subject to many risks and uncertainties. Such technologies include the Mars Smart Contract System, which (other than based on any multisignature arrangements which may be described in the Mars FUD Bible) Site Operator has no ability to change, other than ceasing to display information about certain “smart contracts” or adding information about new “smart contracts”. Users are solely responsible for the safekeeping of the private key associated with the blockchain address used in connection with the Mars Smart Contract System. Site Operator will not be able to restore or issue any refund in respect of property lost or frozen due to loss of private keys or otherwise. If a User is not able to spend or use tokens due to loss or theft of the corresponding private key or otherwise, a User will be unable to enjoy the benefits of such tokens.

    3. Certain Risks of Smart Contract Technology. Digital assets relevant to the Site depend on the Mars Smart Contract System or other smart contracts deployed to Mars Outposts or other blockchain systems, or on the Mars Hub, each of which may be coded or deployed by persons other than Site Operator. Mars Hub, Mars Outposts, and other blockchain systems, and, once deployed to a blockchain system, the code of smart contracts, including the Mars Smart Contract System, typically cannot be modified, or can only be modified in limited ways. In the event that the Mars Hub, Mars Outposts, Mars Smart Contract System or other smart contracts or blockchain systems are adversely affected by malfunctions, bugs, defects, malfunctions, hacking, theft, attacks, negligent coding or design choices, or changes to the applicable protocol rules, Users may be exposed to a risk of total loss and forfeiture of all relevant digital assets. Site Operator assumes no liability or responsibility for any of the foregoing matters.

    4. Asset Prices. The fiat-denominated prices and value in public markets of cryptocurrencies and tokens (including $MARS) have historically been subject to dramatic fluctuations and may be highly volatile. As relatively new products and technologies, blockchain-based assets are not widely accepted as a means of payment for goods and services. A significant portion of demand for these assets is generated by speculators and investors seeking to profit from the short- or long-term holding of blockchain assets. The market value of any token may decline below the price for which a User acquires such asset through the Mars Hub, Mars Outposts or Mars Smart Contract System or on any other system. User acknowledges and agrees that the costs and speeds of transacting with cryptographic and blockchain-based systems such as the Mars Hub, Mars Outposts and Mars Smart Contract System are variable and may increase or decrease dramatically at any time, resulting in prolonged inability to access or use any tokens.

    5. Regulatory Uncertainty. Blockchain technologies and digital assets are subject to many legal and regulatory uncertainties, and the Mars Hub, Mars Outposts, Mars Smart Contract System or any tokens could be adversely impacted by one or more regulatory or legal inquiries, actions, suits, investigations, claims, fines or judgments, which could impede or limit the ability of User to continue the use and enjoyment of such assets and technologies.

    6. Cryptography Risks. Cryptography is a progressing field. Advances in code cracking or technical advances such as the development of quantum computers may present risks to blockchain systems, the Mars Hub, Mars Outposts, Mars Smart Contract System or tokens, including the theft, loss or inaccessibility thereof.

    7. Fork Handling. Mars Hub, Mars Outposts, the Mars Smart Contract System, and all tokens may be subject to “forks.” Forks occur when some or all persons running the software clients for a particular blockchain system adopt a new client or a new version of an existing client that: (i) changes the protocol rules in backwards-compatible or backwards-incompatible manner that affects which transactions can be added into later blocks, how later blocks are added to the blockchain, or other matters relating to the future operation of the protocol; or (ii) reorganizes or changes past blocks to alter the history of the blockchain. Some forks are “contentious” and thus may result in two or more persistent alternative versions of the protocol or blockchain, either of which may be viewed as or claimed to be the legitimate or genuine continuation of the original. Site Operator may not be able to anticipate, control or influence the occurrence or outcome of forks, and does not assume any risk, liability or obligation in connection therewith. Without limiting the generality of the foregoing, Site Operator does not assume any responsibility to notify a User of pending, threatened or completed forks. Site Operator will respond (or refrain from responding) to any forks in such manner as Site Operator determines in its sole and absolute discretion, and Site Operator shall not have any duty or obligation or liability to a User if such response (or lack of such response) acts to a User detriment. Without limiting the generality of the foregoing, Site Operator’s possible and permissible responses to a fork may include: (i) honoring the Mars Hub, Mars Outposts, Mars Smart Contract System and tokens on both chains; (ii) honoring the Mars Hub, Mars Outposts, Mars Smart Contract System and tokens on only one of the chains; (iii) honoring the Mars Hub, Mars Outposts, Mars Smart Contract System and tokens in different respects or to a different extent on both chains; or (iv) any other response or policy or procedure, as determined by Site Operator in its sole and absolute discretion. Each User assumes full responsibility to independently remain apprised of and informed about possible forks, and to manage the User’s own interests and risks in connection therewith.

    8. Essential Third-Party Software Dependencies. The Mars Hub, Mars Outposts, Mars Smart Contract System and other relevant blockchain systems and smart contracts are public software utilities which are accessible directly through any compatible node or indirectly through any compatible “wallet” application (such as the web browser plugin Keplr) which interacts with such a node. Interacting with the Mars Smart Contract System does not require use of the Site, but the Site provides a convenient and user- friendly method of reading and displaying data from the Mars Smart Contract System and generating standard transaction messages compatible with the Mars Smart Contract System. Because the Site does not provide wallet software or nodes for Mars Hub or Mars Outposts, such software constitutes an essential third-party or user dependency without which the Mars Smart Contract System cannot be utilized, and tokens cannot be traded or used. Furthermore, the site may utilize APIs, middleware and servers of Site Operator or third parties, and Site Operator does not guarantee the continued operation, maintenance, availability or security of any of the foregoing dependencies.

    6.8 Tax Issues

    The tax consequences of purchasing, selling, holding, transferring or locking tokens or otherwise utilizing the Mars Smart Contract System are uncertain, may vary by jurisdiction and may be adverse to a User. Site Operator has undertaken no due diligence or investigation into such tax consequences, assumes no obligation or liability to optimize the tax consequences to any person and is not providing any tax advice.

    6.9 Legal Limitations on Disclaimers

    Some jurisdictions do not allow the exclusion of certain warranties or the limitation or exclusion of certain

    liabilities and damages. Accordingly, some of the disclaimers and limitations set forth in these Terms may not apply in full to specific Users. The disclaimers and limitations of liability provided in these terms shall apply to the fullest extent permitted by applicable law.

    6.10 Officers, Directors, Etc.

    All provisions of these Terms which disclaim or limit obligations or liabilities of Site Operator shall also apply, mutatis mutandis, to the officers, directors, members, employees, independent contractors, agents, stockholders, debtholders and affiliates of Site Operator.

    6.11 Indemnification

    Each User shall defend, indemnify, compensate, reimburse and hold harmless Site Operator (and each of its officers, directors, members, employees, agents and affiliates) from any claim, demand, action, damage, loss, cost or expense, including without limitation reasonable attorneys’ fees, arising out or relating to (a) User’s use of, or conduct in connection with, the Site; (b) User’s violation of these Terms or any other applicable policy or contract of Site Operator; or (c) User’s violation of any rights of any other person or entity.

    7. Governing law; Dispute Resolution

    7.1 Governing Law

    These Terms shall be governed by and construed and interpreted in accordance with the laws of the British Virgin Islands (irrespective of the choice of laws principles) as to all matters, including matters of validity, construction, effect, enforceability, performance and remedies. Although the Site may be available in other jurisdictions, each User hereby acknowledges and agrees that such availability shall not be deemed to give rise to general or specific personal jurisdiction over Site Operator in any forum outside the British Virgin Islands.

    7.2 Settlement Negotiations

    If a User has a potential legal dispute, claim or cause of action against Site Operator, the User shall first (prior to initiating any litigation proceedings) contact Site Operator by sending an email to [email protected] describing the nature of the potential dispute, claim or cause of action and providing all relevant documentation and evidence thereof. If so elected by Site Operator, User shall use commercially reasonable efforts to negotiate a settlement of any such legal dispute, claim or cause of action within 60 days of the delivery of such email. Any such dispute, claim or cause of action that is not finally resolved by a binding, written settlement agreement within such 60 days shall be brought and resolved exclusively in accordance with the following provisions of this Section 7.

    7.3 Agreement to Binding, Exclusive Arbitration

    1. Mandatory Binding Arbitration. All claims, disputes and controversies directly or indirectly arising out of or in connection with or directly or indirectly relating to these Terms or any of the matters or transactions contemplated by these Terms (for the avoidance of doubt, including any claim seeking to invalidate, or alleging that, all or any part of these Terms is unenforceable, void or voidable) (such claims, disputes and controversies, collectively, “ Disputes ”) shall be resolved by confidential, binding arbitration to be seated in the British Virgin Islands and conducted in the English language by a single arbitrator pursuant to the Commercial Arbitration Rules of the American Arbitration Association (the “ Rules ”). The arbitrator shall be appointed in accordance with the procedures set out in the Rules. The award or decision of the arbitrator shall be final and binding upon the parties and the parties expressly waive any right under the laws of any jurisdiction to appeal or otherwise challenge the award, ruling or decision of the arbitrator. The judgment of any award or decision may be entered in any court having competent jurisdiction to the extent necessary. If the Company elects to have a Dispute resolved by arbitration pursuant to this provision, no party hereto shall (or shall permit its representatives to) commence, continue or pursue any Dispute in any court; provided, however, that the Company shall be entitled to obtain an injunction or injunctions to prevent breaches of this provision and to enforce specifically the terms and provisions thereof, this being in addition to any other remedy to which the Company is entitled at law or in equity, and the parties hereto hereby waive the requirement of any posting of a bond in connection with such injunctive relief or specific performance.

    2. Waiver of Jury Trial. The parties hereby acknowledge, represent and warrant that they understand that:

      1. there is no judge or jury in arbitration, and, absent this mandatory provision, the parties would have the right to sue in court and have a jury trial concerning Disputes;

      2. in some instances, the costs of arbitration could exceed the costs of litigation;

      3. the right to discovery may be more limited in arbitration than in court; and

      4. court review of an arbitration award is limited. Each of the parties hereto hereby irrevocably waives any and all right to trial by jury in any action, suit or other legal proceeding arising out of or related to these Terms or the transactions contemplated hereby.

    3. Confidentiality of Arbitration. Except to the extent necessary to enforce their respective rights under these Terms or as otherwise required by applicable law, the parties undertake to maintain confidentiality as to the existence and events of the arbitration proceedings and as to all submissions, correspondence and evidence relating to the arbitration proceedings. This provision shall survive the termination of the arbitral proceedings.

    7.4 Court Jurisdiction

    To the extent that any court is required to weigh on the enforceability of Section 7.3, to enforce any judgment of the arbitrator, then, without limiting Section 7.3 or any other provision of this Agreement, the User (A) hereby irrevocably and unconditionally submit to the jurisdiction of the courts of the British Virgin Islands for such purpose; (B) agrees not to commence any suit, action or other proceeding arising in connection with or based upon this instrument or the matters contemplated by this instrument except before the courts of the British Virgin Islands, and (C) hereby waives, and agrees not to assert, by way of motion, as a defense, or otherwise, in any such suit, action or proceeding, any claim that it is not subject personally to the jurisdiction of the above-named courts, that its property is exempt or immune from attachment or execution, that the suit, action or proceeding is brought in an inconvenient forum, that the venue of the suit, action or proceeding is improper or that this instrument or the subject matter hereof or thereof may not be enforced in or by such court.

    7.5 Class Action Waiver

    1. No Class Actions Permitted. All Users hereby agree that any arbitration or other permitted action with respect to any Dispute shall be conducted in their individual capacities only and not as a class action or other representative action, and the Users expressly waive their right to file a class action or seek relief on a class basis. USERS SHALL BRING CLAIMS AGAINST SITE OPERATOR OTHER ONLY IN THEIR INDIVIDUAL CAPACITY, AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE PROCEEDING.

    2. Agreements if Class Action Waiver Unenforceable. If any court or arbitrator makes a final, binding and non-appealable determination that the class action waiver set forth in this Section 7.5 is void or unenforceable for any reason or that an arbitration can proceed on a class basis, then the arbitration provision set forth above shall be deemed null and void with respect to any Dispute that would thus be required to be resolved by arbitration on a class basis, and the parties shall be deemed to have not agreed to arbitrate such Dispute. In the event that, as a result of the application of the immediately preceding sentence or otherwise, any Dispute is not subject to arbitration, the parties hereby agree to submit to the personal and exclusive jurisdiction of and venue in the federal and state courts located in Wilmington, Delaware and to accept service of process by mail with respect to such Dispute, and hereby waive any and all jurisdictional and venue defenses otherwise available with respect to such Dispute.

    7.6 California End-User Consumer Rights

    In accordance with Cal. Civ. Code Sec. 1789.3, if a User is a California State resident, the User may file grievances and complaints regarding the Site with the California Department of Consumer Affairs, Consumer Information Division; 1625 North Market Blvd., Suite N 112, 1625 North Market Blvd., Suite N 112, Sacramento, CA 95834 or by phone at 800-952-5210; or by email to: [email protected].

    8. Miscellaneous

    8.1 Headings

    The headings and captions contained in these Terms are for convenience of reference only, shall not be deemed to be a part of these Terms and shall not be referred to in connection with the construction or interpretation of these Terms.

    8.2 Successors and Assigns

    These Terms shall inure to the benefit of Site Operator, the Users, and their respective permitted successors, permitted assigns, permitted transferees and permitted delegates and shall be binding upon all of the foregoing persons and any person who may otherwise succeed to any right, obligation or liability under these Terms by operation of law or otherwise. A User shall not assign any of a User rights or delegate any of a User liabilities or obligations under these Terms to any other person without Site Operator’s advance written consent. Site Operator may freely assign, transfer or delegate its rights, obligations and liabilities under these Terms to the maximum extent permitted by applicable law.

    8.3 Severability

    In the event that any provision of these Terms, or the application of any such provision to any person or set of circumstances, shall be determined by an arbitrator or court of competent jurisdiction to be invalid, unlawful, void or unenforceable to any extent: (a) the remainder of these Terms, and the application of such provision to persons or circumstances other than those as to which it is determined to be invalid, unlawful, void or unenforceable, shall not be impaired or otherwise affected and shall continue to be valid and enforceable to the fullest extent permitted by law; and (b) Site Operator shall have the right to modify these Terms so as to effect the original intent of the parties as closely as possible in an acceptable manner in order that the transactions contemplated hereby be consumed as originally contemplated to the fullest extent possible.

    8.4 Force Majeure.

    Site Operator shall not incur any liability or penalty for not performing any act or fulfilling any duty or obligation hereunder or in connection with the matters contemplated hereby by reason of any occurrence that is not within its control (including any provision of any present or future law or regulation or any act of any governmental authority, any act of God or war or terrorism, any epidemic or pandemic, or the unavailability, disruption or malfunction of the Internet, the World Wide Web or any other electronic network, the Mars Hub or Mars Outposts or Mars Smart Contract System or any aspect thereof, or any consensus attack, or hack, or denial-of-service or other attack on the foregoing or any aspect thereof, or on the other software, networks and infrastructure that enables Site Operator to provide the Site), it being understood that Site Operator shall use commercially reasonable efforts, consistent with accepted practices in the industries in which Site Operator operates, as applicable, to resume performance as soon as reasonably practicable under the circumstances.

    8.5 Amendments and Modifications

    These Terms may only be amended, modified, altered or supplemented by or with the written consent of Site Operator. Site Operator reserves, the right, in its sole and absolute discretion, to amend, modify, alter or supplement these Terms from time to time. The most current version of these Terms will be posted on the Site. Any changes or modifications will be effective immediately upon the modified Agreement being posted to the Site. A User shall be responsible for reviewing and becoming familiar with any such modifications.

    Each User hereby waives any right such User may have to receive specific notice of such changes or modifications. Use of the Site by a User after any modification of these Terms constitutes the User’s acceptance of the modified terms and conditions. If a User does not agree to any such modifications, the User must immediately stop using the Site.

    8.6 No Implied Waivers

    No failure or delay on the part of Site Operator in the exercise of any power, right, privilege or remedy under these Terms shall operate as a waiver of such power, right, privilege or remedy; and no single or partial exercise of any such power, right, privilege or remedy shall preclude any other or further exercise thereof or of any other power, right, privilege or remedy. Site Operator shall not be deemed to have waived any claim arising out of these Terms, or any power, right, privilege or remedy under these Terms, unless the waiver of such claim, power, right, privilege or remedy is expressly set forth in a written instrument duly executed and delivered on behalf of Site Operator, and any such waiver shall not be applicable or have any effect except in the specific instance in which it is given.

    8.7 Entire Agreement

    These Terms constitutes the entire agreement between the parties relating to the subject matter hereof and supersede all prior or contemporaneous agreements and understandings, both written and oral, between the parties with respect to the subject matter hereof.

    8.8 Rules of Interpretation

    1. “hereof,” “herein,” “hereunder,” “hereby” and words of similar import will, unless otherwise stated, be construed to refer to these Terms as a whole and not to any particular provision of these Terms;

    2. “include(s)” and “including” shall be construed to be followed by the words “without limitation”;

    3. “or” shall be construed to be the “inclusive or” rather than “exclusive or” unless the context requires otherwise;

    4. any rule of construction to the effect that ambiguities are to be resolved against the drafting party shall not be applied in the construction or interpretation of these Terms;

    5. section titles, captions and headings are for convenience of reference only and have no legal or contractual effect.;

    6. whenever the context requires: the singular number shall include the plural, and vice versa; the masculine gender shall include the feminine and neuter genders; the feminine gender shall include the masculine and neuter genders; and the neuter gender shall include the masculine and feminine genders; and

    7. except as otherwise indicated, all references in these Terms to “Sections,” “clauses,” etc., are intended to refer to Sections of Sections, clauses, etc. of these Terms.

    [email protected]
    participating in, facilitating, assisting or knowingly transacting with any pool, syndicate or joint account organized for the purpose of unfairly or deceptively influencing market prices;
    https://marsprotocol.io/
    https://app.marsprotocol.io
    Logo